02_jQuery的DOM操作

jQueryDOM操作

1、  查找节点

1.1、查找元素节点:

Var $li = $(“ul li:eq(1)”);

Var li_txt = $li.text();

Alert(li_txt);

获取<ul>元素里第二个<li>节点,并将它的文本内容打印出来。

1.2、查找属性节点:

Var $para = $(“p”);

Var p_txt = $para.attr(“title”);

Alert(p_txt);

获取<p>节点,并将它的title属性值打印出来。

示例0201

2、  创建节点

2.1、创建元素节点:

                   Var $li_1 = $(“<li></li>”);

                   Var $li_2 = $(“<li></li>”);

                   $(“ul”).append($li_1);

                   $(“ul”).append($li_2);

                   创建2<li>元素,并将这2个元素插入文档中。

2.2、创建文本节点:

                   Var $li_1 = $(“<li>香蕉</li>”);

                   Var $li_2 = $(“<li>苹果</li>”);

                   $(“ul”).append($li_1);

                   $(“ul”).append($li_2);

                   创建元素节点时直接把文本写出来,然后再添加到文档中。

2.3、创建属性节点:

Var $li_1 = $(“<li title=’香蕉’>香蕉</li>”);

                   Var $li_2 = $(“<li title=’苹果’>苹果</li>”);

                   $(“ul”).append($li_1);

                   $(“ul”).append($li_2);

                   创建元素节点时直接把属性写出来,然后再添加到文档中。

                   示例0202

3、  插入节点

方法

描述

示例

Append()

向每个匹配的元素内部追加内容

Html代码:

<p>我想说:<p>

jQuery代码:

$(“p”).append(“<b>你好</b>”);

结果:

<p>我想说:<b>你好</b></p>

appendTo()

将所有匹配的元素追加到指定的元素中。与append()不同,$(A).appendTo(B)不是将B追加到A中,而是将A追加到B

Html代码:

<p>我想说:<p>

jQuery代码:

$(“<b>你好</b>”).appendTo(“p”);

结果:

<p>我想说:<b>你好</b></p>

Prepend()

向每个匹配的元素内部前置内容

Html代码:

<p>我想说:<p>

jQuery代码:

$(“p”).prepend(“<b>你好</b>”);

结果:

<p><b>你好</b>我想说:</p>

prependTo()

将所有匹配的元素前置倒指定的元素中。与prepend()不同,$(A).prependTo(B)不是将B前置到A中,而是将A前置到B

Html代码:

<p>我想说:<p>

jQuery代码:

$(“<b>你好</b>”).prependTo(“p”);

结果:

<p><b>你好</b>我想说:</p>

After()

在每个匹配的元素之后插入内容

Html代码:

<p>我想说:<p>

jQuery代码:

$(“p”).after(“<b>你好</b>”);

结果:

<p>我想说:</p><b>你好</b>

insertAfter()

将所有匹配的元素插入到指定元素的后面。与after()不同,$(A).insertAfter(B)不是将B插入到A后面,而是将A插入到B后面

Html代码:

<p>我想说:<p>

jQuery代码:

$(“<b>你好</b>”).insertafter(“p”);

结果:

<p>我想说:</p><b>你好</b>

Before()

在每个匹配的元素之前插入内容

Html代码:

<p>我想说:<p>

jQuery代码:

$(“p”).before(“<b>你好</b>”);

结果:

<b>你好</b><p>我想说:</p>

insertBefore()

将所有匹配的元素插入到指定的元素前面。与before()不同,$(A).insertBefore(B)不是将B插入到A前面,而是将A插入到B前面

Html代码:

<p>我想说:<p>

jQuery代码:

$(“<b>你好</b>”).insertBefore(“p”);

结果:

<b>你好</b><p>我想说:</p>

示例0203

4、  删除节点

4.1remove()方法:

Var $li = $(“ul li:eq(1)”).remove();

$li.appendTo(“ul”);

删除<ul>节点的第二个<li>元素节点,删除方法返回一个指向被删除节点的引用,然后重新将节点添加到<ul>元素里。

$(“ul li”).remove(“li[title!=菠萝]”)

<li>元素中属性title不等于菠萝<li>元素删除。

4.2empty()方法:

$(“ul li:eq(1)”).empty();

将第二个<li>元素里的内容清空。

示例0204

5、  复制节点

$(“ul li“).click(function(){

                   $(this).clone().appendTo(“ul”);

})

复制当前点击的节点,并把它添加到<ul>元素中。此时复制出来的新元素没有点击事件功能。

$(this).clone(true).appendTo(“body”);

此时复制出来的新元素具有点击事件功能,同时复制了功能。

示例0205

6、  替换节点

将网页中的”<p title=”你好”>你好</p>”替换成”<strong>谢谢</strong>”可以通过以下两种方式实现:

1)$(“p”).replaceWith(“<strong>谢谢</strong>”);

2)$(“<strong>谢谢</strong>”).replaceAll(“p”);

示例0206

7、包裹节点

Html代码:

<strong>谢谢</strong>

<strong>谢谢</strong>

 

$(“strong”).wrap(“<b></b>”);结果:

<b><strong>谢谢</strong></b>

<b><strong>谢谢</strong></b>

$(“strong”).wrapAll(“<b></b>”);结果:

<b>

<strong>谢谢</strong>

<strong>谢谢</strong>

</b>

$(“strong”).wrapInner(“<b></b>”);结果:

<strong><b>谢谢</b></strong>

示例0207

8、属性操作

8.1、获得属性和设置属性:

Var p_txt = $(“p”).attr(“title”);

$(“p”).attr(“title”,”your title!”);

8.2、删除属性:

$(“p”).removeAttr(“title”);

示例0208

9、样式操作

9.1、获取样式和设置样式:

Var p_class = $(“p”).attr(“class”);

$(“p”).attr(“class”,”myClass”);

9.2、追加样式:

$(“p”).addClass(“myClass”);

(如果一个元素加了多个样式,则不同的样式合并,相同的样式后者覆盖前者。)

9.3、移除样式:

$(“p”).removeClass(“myClass”);

示例0209

10、设置和获取html、文本和值

10.1html()方法:

Html代码:

<p><strong>谢谢</strong></p>

var p_html = $(“p”).html();

alert(p_html);

打印结果:<strong>谢谢</strong>

 

$(“p”).html(“<strong>哈哈</strong>”);//设置<p>元素的html代码

结果: <p><strong>哈哈</strong></p>

10.2text()方法:

Html代码:

<p><strong>谢谢</strong></p>

var p_text = $(“p”).text();

alert(p_text);

打印结果:谢谢

 

$(“p”).text(“哈哈”);//设置<p>元素的文本内容

结果:<p><strong>哈哈</strong></p>

10.3val()方法:

示例0210

11、遍历节点

11.1children()方法:取得匹配元素的子元素集合。

Html代码:

<body>

                   <p>qq</p>

                   <ul>

                                     <li>aa</li><li>bb</li><li>cc</li>

                   </ul>

</body>

Var $body = $(“body”).children();

Var $p = $(“p”).children();

Var $ul = $(“ul”).children();

Alert($body.length);                  alert($p.length);      alert($ul.length);

(203)

11.2next()方法:取得匹配元素后面紧邻的同辈元素。

Var $p1 = $(“p”).next();

结果:

<ul>

                   <li>aa</li><li>bb</li><li>cc</li>

</ul>

11.3prev()方法:取得匹配元素前面紧邻的同辈元素。

Var $ul = $(“ul”).prev();

结果:

<p>qq</p>

11.4siblings()方法:取得匹配元素前后所有的同辈元素。

11.5closest()方法:取得最近的匹配元素。

示例0211

12CSS-DOM操作

$(“p”).css(“color”);//取得p元素的样式颜色

$(“p”).css(“color”,”red”);//设置p元素的样式颜色为红色

示例0212

13、其它常用方法

13.1offset()方法:取得元素在当前视窗的相对偏移。

Var offset = $(“p”).offset();

Var left = offset.left;

Var top = offset.top;

13.2position()

13.3scrollTop()scrollLeft()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值