jquery常用的几种DOM操作

一. DOM获取内容以及设置内容

.val()    获取或设置input中的值
.html()   获取或设置页面上的内容可以带标签符
.text()   获取或设置文本内容

例:

// html代码块
	<body>
		<input type="text" id="myinput" value="张三"><br/>
	    <div id="mydiv"><a href="#"><p>标题标签</p></a></div>
	</body>
// jq代码块
	<script>
	    $(function () {
	        // 获取myinput的value值
	        alert($("#myinput").val()); //获取内容
	        //$("#myinput").val("aaa"); // 设置内容
	
	        // 获取mydiv的标签内容
	        alert($("#mydiv").html());//获取内容
	        //$("#mydiv").html("bbb"); // 设置内容
	
	        // 获取mydiv文本内容
	        alert($("#mydiv").text());//获取内容
	        //$("#mydiv").text("ccc"); // 设置内容
	    });
	    </script>

二. DOM对于元素和属性的操作

attr()         获取/设置元素属性
removeAttr()   删除属性
prop()         获取/设置元素属性
removeProp     删除属性

attr 和 prop的区别
如果操作的是元素的固有属性就用prop (标签自带的叫固有属性)
如果操作的是自定义的属性就用attr (标签没有 自己定义的叫自定义属性)

例:

// html代码块
	<body>
		 <ul>
	        <li id="bj" name="beijing">北京</li>
	        <li id="tj" name="tianjin">天津</li>
   		 </ul>
    	<input type="checkbox" id="hobby" >
	</body>
// jq代码块
	<script>
        $(function () {
            // 获取北京节点的name值
            alert($("#bj").attr("name"));

            // 设置北京节点的name属性为aaa
            //$("#bj").attr("name","aaa");

            // 新增北京节点的discription属性,属性值是didu
            //$("#bj").attr("discription","didu");

            // 删除北京节点的name属性并且检查name是否存在
            //$("#bj").removeAttr("name");

            // 获得hobby的选中状态
            //alert($("#hobby").prop("checked"));
        });
    </script>

三. DOM对于属性样式的操作

addClass()         添加元素样式
removeClass()      删除元素样式
toggleClass()      切换元素样式

例:

// html代码块
	<body>
	    <input type="button" id="b1" value="采用属性增加样式(改变id=one的样式)">
	    <input type="button" id="b2" value="addClass">
	    <input type="button" id="b3" value="removeClass">
	    <input type="button" id="b4" value="切换样式">
	    <input type="button" id="b5" value="通过css()获取id为one的背景颜色">
	    <input type="button" id="b6" value="通过css()设置id为one的背景颜色为红色">
	    <div id="one"></div>
	</body>
// css
	<style>
	        div{width:100px; height: 100px; background-color: darkgray}
	        .aaa{width: 300px; height: 300px; background-color: pink}
	</style>
// jq代码块
	<script>
	        $(function () {
	            //<"采用属性增加样式(改变id=one的样式)">
	            $("#b1").click(function () {
	               $("#one").prop("class","aaa");
	            });
	
	            //<"addClass">
	            $("#b2").click(function () {
	               $("#one").addClass("aaa");
	            });
	
	            //<"removeClass">
	            $("#b3").click(function () {
	               $("#one").removeClass("aaa");
	            });
	
	            //<"切换样式">
	            $("#b4").click(function () {
	               $("#one").toggleClass("aaa");
	            });
	
	            //<"通过css()获取id为one的背景颜色">
	            $("#b5").click(function () {
	               alert($("#one").css("backgroundColor"));
	            });
	
	            //<"通过css()设置id为one的背景颜色为红色">
	            $("#b6").click(function () {
	              $("#one").css("backgroundColor","red");
	            });
	        });
	    </script>

四. DOM对于元素位置操作

after()	       将元素插入到某个元素的后面
before()          将元素插入到某个元素的前面
append ()         将元素添加到某个元素的后面
prepend()         将元素添加到某个元素的前面
remove()          删除元素
empty()		   删除一个元素下所有的子节点元素

例:

// html代码块
	<body>
	    <input type="button" id="b1" value="将瓜皮放到ul的后面">
	    <input type="button" id="b2" value="将瓜皮放到ul的前面">
	    <input type="button" id="b3" value="将瓜皮插入到河南的后面">
	    <input type="button" id="b4" value="将瓜皮插入到河南的前面">
	    <input type="button" id="b5" value="删除<li id='bj'>北京</li>">
	    <input type="button" id="b6" value="删除ul下的所有li节点,不包含属性节点">
	
	    <ul id="aaa">
	        <li id="bj">北京</li>
	        <li id="tj">天津</li>
	        <li id="hn">河南</li>
	        <li id="ny">南阳</li>
	    </ul>
	
	    <ul>
	        <li id="dl">大佬</li>
	        <li id="gp">瓜皮</li>
	    </ul>
	</body>
// jq代码块
	    <script>
        /*
        * create 和 append 和 remove
        *
        * */
        $(function () {
            //<"将瓜皮放到aaa的后面">
            $("#b1").click(function () {
               $("#aaa").append($("#gp"));  // 这些都可以相互反着来用 会有不一样的收获
            });
            //<"将瓜皮放到ul的前面">
            $("#b2").click(function () {
                $("#aaa").prepend($("#gp"));
            });
            //<"将瓜皮插入到河南的后面">
            $("#b3").click(function () {
                $("#hn").after($("#gp"));
            });
            //<"将瓜皮插入到河南的前面">
            $("#b4").click(function () {
                $("#hn").before($("#gp"));
            });
            //<"删除<li id='bj'>北京</li>">
            $("#b5").click(function () {
                $("#dl").remove();
            });
            //<"删除ul下的所有li节点,不包含属性节点">
            $("#b6").click(function () {
                $("#aaa").empty();
            });
        });

    </script>