您的位置:首页 > Web前端 > JQuery

jQuery学习笔记之DOM操作

2017-09-04 18:33 543 查看

一、查找节点

1.1 查找元素节点

jQuery选择器

1.2 查找属性节点

$("p").attr("title"); //获取<p>元素节点属性title


二、创建节点

2.1 创建元素节点

$("#myid").append($("<span>我是插入的</span>"));


2.2插入节点的方法

2.2.1 append()

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

HTML代码:

<p>我想说:</p>


jQuery代码:

$("p").append("<b>你好</b>")


结果:

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


2.2.2 appendTo()

将所有匹配的元素追加到指定的元素中

HTML代码:

<p>我想说:</p>


jQuery代码:

$("<b>你好</b>").appendTO("p")


结果:

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


2.2.3 prepend()

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

HTML代码:

<p>我想说:</p>


jQuery代码:

$("p").prepend("<b>你好</b>")


结果:

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


2.2.4 prependTo()

将所有匹配的元素前置到指定的元素中

HTML代码:

<p>我想说:</p>


jQuery代码:

$("<b>你好</b>").prependTo("p")


结果:

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


2.2.5 after()

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

HTML代码:

<p>我想说:</p>


jQuery代码:

$("p").after("<b>你好</b>")


结果:

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


2.2.6 insertAfter()

将所有匹配的元素插入到指定的元素之后

HTML代码:

<p>我想说:</p>


jQuery代码:

$("<b>你好</b>").insertAfter("p")


结果:

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


2.2.7 before()

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

HTML代码:

<p>我想说:</p>


jQuery代码:

$("p").before("<b>你好</b>")


结果:

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


2.2.8 insertBefore()

将所有匹配的元素插入到指定的元素之前

HTML代码:

<p>我想说:</p>


jQuery代码:

$("<b>你好</b>").insertBefore("p")


结果:

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


三、删除节点

3.1 remove()

从Dom中删除所有匹配元素

$("div a:first").remove();


$("div a").remove("a[title=jjj]");


3.2 detach()

从Dom中去掉所有匹配元素,但这个方法不会把匹配的元素从jQuery中删除,可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件/附加的数据等都会保留下来。

$("div a:first").detach();


3.3 empty()

严格来讲,该方法并不是删除节点,而是清空节点,它能清空元素中的所有后代节点

$("ul li:eq(1)").empty();


四、复制节点

被复制的新元素并不具有任何行为

$("ul li:first").clone().appendTo("ul");


被复制的新元素具有原来的行为

$("ul li:first").clone(true).appendTo("ul");


五、替换节点

5.1 replaceWith()

将所有匹配的元素都替换成指定的HTML或DOM元素

$("ul li:first").replaceWith("<li>被替换啦</li>")


5.2 replaceAll()

$("<li>被替换啦2h奥</li>").replaceAll("ul li");


六、包裹节点

将某个节点用其他标记包裹起来

6.1wrap()

html代码

<strong>1111111111111</strong>
<strong>1111111111111</strong>


jQuery代码

$("strong").wrap("<b></b>");


结果

<b>
<strong>1111111111111</strong>
</b>
<b>
<strong>1111111111111</strong>
</b>


6.2 wrapAll()

将所有匹配的元素用一个元素来包裹

html代码

<strong>1111111111111</strong>
<p>2222</p>
<strong>1111111111111</strong>


jQuery代码

$("strong").wrapAll("<b></b>");


结果

<b>
<strong>1111111111111</strong> <strong>1111111111111</strong>
</b>
<p>2222</p>


6.3 wrapInner()

将所有匹配的元素用一个元素来包裹

html代码

<strong>1111111111111</strong>
<strong>1111111111111</strong>


jQuery代码

$("strong").wrapInner("<b></b>");


结果

<strong><b>1111111111111</b></strong>
<strong><b>1111111111111</b></strong>


七、属性操作

7.1 获取属性

$("#aaa").attr("href")


7.2 设置属性

$("#aaa").attr("title","jjjj");


7.3 删除属性

$("#aaa").removeAttr("href");


八、样式操作

8.1 获取样式

$("#mytest").attr("class")


8.2 设置样式

$("#mytest").attr("class","mytest2");


8.3 追加样式

$("#mytest").addClass("mytest3");


注意:

如果有多个class设置了同一个样式属性,则后者覆盖前者。

attr()和addClass()的区别

对同一个网页网页元素操作:
<p>test</p>


方法addClass()attr()
用途追加样式设置样式
第一次使用方法
$("p").addClass("high");
$("p").attr("class","high");
第一次结果
<p class="high">test</p>
<p class="high">test</p>
再次使用方法
$("p").addClass("another");
$("p").attr("class","another");
最终结果
<p class="high another">test</p>
<p class="another">test</p>

8.4 移除样式

$("#high").removeClass("high");


8.5 切换样式

HTML代码

<p class="mytest" id="mytest">hello world</p>


jQuery代码

$("#mytest").toggleClass("another");


当点击切换样式按钮时,HTML代码变为

<p class="mytest another" id="mytest">hello world</p>


再次点击切换样式按钮时,HTML代码变回原来的

<p class="mytest" id="mytest">hello world</p>


8.6 判断是否含有某个样式

$("#mytest").hasClass("mytest")


九、设置和获取HTML、文本和值

9.1 html()方法

读取或设置某个元素中的HTML内容

获取HTML

$("#mytest").html()


设置HTML

$("#mytest").html("<a>dsadsdaddssssssssssssssssssssssssssssssssssss</a>");


注意:html()方法可以用于XHTML文档,不能用XML文档

9.2 text()方法

读取或设置某个元素中的文本内容

$("#mytest").text()


注意:text()方法对HTML文档和XML文档都有效

9.3 val()方法

设置和获取元素的值

表单操作

十、遍历节点

10.1 children()方法

用于取得匹配元素的子元素的集合

$("body").children()


注意:children()方法只考虑子元素而不考虑其他后代元素

10.2 next()方法

用于取得匹配元素后面紧邻的同辈元素

$("#form1").next()


10.3 prev()方法

用于取得匹配元素前面紧邻的同辈元素

$("#form1").prev()


10.4 siblings()方法

用于取得匹配元素前后所有的同辈元素

$("#form1").siblings()


10.5 closest()方法

用于取得最近的匹配元素

首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,逐级向上查找直到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery。

$("ul").closest("li").css("background-color", "green");


10.6 parent(),parents()与closest()

的区别

方法描述区别
parent()获得集合中每个匹配元素的父级元素从指定类型的直接父节点开始查找。返回一个元素节点
parents()获得集合中每个匹配元素的祖先元素与parent()类似。不同:当它找到第一个父节点时并没有停止查找,而是继续查找,最后返回多个父节点。
closest()从元素本身开始,逐级向上级元素匹配,并返回最先匹配到的祖先元素查找是从包含本身的节点找起,只返回匹配的第一个元素节点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery