使用jQuery操作DOM

 

DOM操作分为三类
1.DOM Core
DOM Core不是Javascript的专属品,任何一种支持DOM的编程语言都可以使用它,它的用途不仅限于处理一种使用标记语言编写出来的文档。
2.HTML-DOM
比DOM Core出现的更早,它提供了一些更加简明的标记来描述各种HTML-DOM的元素属性。
3.CSS-DOM
CSS-DOM 是针对CSS的操作,在JavaScript中,主要作用是获取和设置style对象各种属性。
样式操作
1.直接设置样式值
css(name,value)  //设置单个属性

 

css({name:value,name:value,name:value....})  //同事设置多个属性

css的参数说明:

2.追加样式和移除样式

addClass(class) //追加样式

示例:

 

<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("p").addClass("color");
        $("h2").click(function () {
            $("p").toggleClass("get");
        })
    })
</script>

removeClass(class)  //移除样式

 

3.切换样式

 

taggleClass()    //可以切换不同元素的类样式

4.判断是否念指定的样式

$(selector).hasClass(class);

示例:

 

<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
   $(document).ready(function () {
       $("h2").mouseover(function () {
           if(!$("p").hasClass("color")){
               $("p").addClass("color");
           }
       });
       $("h2").mouseout(function () {
           if($("p").hasClass("color")){
               $("p").removeClass("color");
           }
       });
   })
</script>

内容操作

1.html代码操作

html([content])  //可选,规定备选元素的新类容,该参数可以包含HTML标签,无参数时,表示被选元素的文本内容

示例:

 

<script src="js/jquery-1.12.4.js" ></script>
<script>
     $(document).ready(function(){
         $("h1").click(function () {
             var w = "<ul><li>买了商品后,查不到物流信息怎么办?</li><li>申请退款后,交易退款成功,钱到哪里?</li><li>卖家拒绝退款,怎么办?</li><li>投诉发生的时间和条件是什么?</li><li>如何申请淘宝客服介入?</li></ul>";
             $(".proList").html(w);
         });
         $("span").click(function () {
             $(".proList").html("");
         })       
    });
</script>

2.标签内容操作

text([content])  //可选,规定被选元素的新文本内容。 注释,特殊字符会被编码。无参数时,表示获取元素的被选内容

html()方法和text()方法的区别:

3.属性值操作val([value])   //value,可选。规定被选参数的新内容。无参数时,返回值为第一个被选参数的value属性的值。

示例:

 

<script  src="js/jquery-1.8.3.min.js" ></script>
<script>
 $(document).ready(function(){
     $("#searchtxt").focus(function () {
            var txt_value=$(this).val();
            if(txt_value=="电风扇"){
                $(this).val("");
            }
        });
        $("#searchtxt").blur(function () {
            var txt_value=$(this).val();
            if(txt_value==""){
                $(this).val("电风扇");
            }
        });
 });
</script>

 

节点属性操作

 

1.查找节点

想要对节点进行操作,即增、删、改和复制,首先必须找到要操作的元素。所以,查找的语法示例:$("h1").hide(); 查找h1的元素,并将其隐藏。其实,查找元素,就是通过选择器获取元素。

 

2.创建节点
$(selector) //选择器
$(element) //Dom元素

 

$(html)    //html代码

HTML代码创建jQuery对象示例:
    var $newNode1 = $("<li></li>")  //创建空的li元素节点
    var $newNode2 = $("<li>HTML</li>") //创建包含文本的li元素节点
    var $newNode3 = $("<li title="标题">HTML</li>") //创建包含文本与属性的li元素节点

 

3.插入节点

 

 

 

方法描 述
append()向每个匹配的元素内部追加内容。注:在内部元素的最后面追加
appendTo()将所有匹配的元素追加到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).append(B)的操作,即不是将B追加到A中,而是将A追加到B中。
prepend()向每个匹配的元素内部前置内容。注:在内部元素的最前面追加
prependTo()将所有匹配的元素前置到指定的元素中。实际上,使用该方法是颠倒了常规的$(A).prepend(B)的操作,即不是将B前置到A中,而是将A前置到B中。
after()在每个匹配的元索之后插入内容。
insertAfler()将所有匹配的元素插入到指定元素的后面。实际上,使用该方法是颠倒了常规的$(A).after(B)的操作,即不是将B插入到A后面,而是将A插入到B后面。
before()在每个匹配的元素之前插入内容。
insertBefore()将所有匹配的元素捅入到指定的元素的前面。实际上,使用该方法是颠倒了常规的$(A).before(B)的操作,即不是将B插入到A前面,而是将A插入到B前面。

4.删除节点

$(selector).remove([expr])

 

5.替换节点
$("ul li:eq(1)").replaceWith($xxx)
6.复制节点

 

$(selector).clone([includeEvents])

属性操作:

方法描 述
attr()、prop()

设置或返回匹配元素的属性和值。

removeAttr()、removeProp()从所有匹配的元素中移除指定的属性。

节点遍历:

1.遍历子元素
children()方法。

语法:$(childred).children([expr])

2.遍历同辈元素

遍历同辈元素的方法说明
方法描述
next([expr])用于获取紧邻匹配元素之后的元素。参数expr可选,用于过滤同辈元素的表达式,如$(“li:eq(1)”).next().css(“color”,”red”);
prev([expr])用于获取紧邻匹配元素之前的元素。参数expr可选,用于过滤同辈元素的表达式,如$(“li:eq(1)”).prev().css(“color”,”red”);
siblings([expr])用于获取紧邻匹配元素前面和后面的所有同辈元素。参数expr可选,用于过滤同辈元素的表达式,如$(“li:eq(1)”).siblings().css(“color”,”red”);

3.遍历前辈元素

 

parent()方法和parents()方法的参数说明
方法描述
parent([selector])参数可选。获取当前匹配元素集合中每个元素的父级元素
parents([selector])参数可选。获取当前匹配元素集合中每个元素的祖先元素

4.其他遍历方法

each()方法

语法:

$(selector).each(function(index,element));

其中,参数index表示选择器的index位置,element表示当前的元素,当返回值为false时可用于及早停止循环。

end()方法

语法:

.end();

结束当前链条中最近的筛选操作,并将匹配元素集还原为之前的状态。

CSS-DOM操作

CSS-DOM相关操作方法说明
参数描述示例
css()设置或返回匹配元素的样式属性$(“#box”).css(“color”,”red”)
heigh([value])参数可选。设置或返回匹配元素的高度。如果没有规定长度单位,则使用默认px作为单位$(“#box”).heigh(180)
width([value])参数可选。设置或返回匹配元素的宽度。如果没有规定长度单位,则使用默认px作为单位$(“#box”).width(180)
offset([value])返回以像素为单位的top和left坐标。此方法仅对可见元素有效$(“#box”).offset()
offsetParent([value])返回最近的已定位的祖先元素。定位元素指的是元素的CSS position值被设置为relative、absolute或fixed的元素$(“#box”).offsetParent()
scrollLeft([position])参数可选。设置或返回匹配元素相对滚动条左侧的偏移$(“#box”).scorllLeft(20)
scrollTop([posttion])参数可选。设置或返回匹配元素相对滚动条顶部的偏移$(“#box”).scrollTop(120)
 

 

 

 

 

 

 

 

 

 

 

 


版权声明:本文为qq_41275501原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。