【jQuery】jQuery的DOM操作

注意:jQuery是一个集合,所有很多时候返回值也是一个集合

1.DOM节点的创建

$("html代码") 例$("<div></div>")

2.DOM节点的插入

内部队尾插入:

$(olds).append(new);
$(new).appendTo(olds);

内部队首插入:

$(olds).prepend(new);
$(new).prependTo(olds);

外部插入:

$(olds).after(new)
$(olds).before(new)
$(new).insertBefore(olds)
$(new).inertAfter(olds)

注:new代表要插入的内容,olds代表被插入的对象们

3.DOM节点的删除

.empty() 删除dom节点中的所有内容及绑定事件,但保留此dom节点

remove() 删除自身及所有后代,包括绑定的事件
$("p").filter(":contains('3')").remove()

.detach() 临时删除页面上的节点,但会保留节点上的数据和事件,当append()相同节点时,事件还存在

4.DOM节点赋值和替换

节点拷贝clone:

$().clone([true]) 不写true仅仅克隆结构事件丢失,写true结构,事件和数据都会克隆

节点替换:

$(“olds”).replaceWith( new),new可以是HTML字符串,DOM元素,或者jQuery对象
$(“new”).replaceAll( olds)

节点包裹wrap(),unwrap(),wrapAll(),wrapInner()

.wrap( wrappingElement ) 给单个dom元素包裹

$('p').wrap('<div></div>')  =>
<div>
    <p>p元素</p>
</div>

.wrap( function )

$('p').wrap(function() {
    return '<div></div>';   //与第一种类似,只是写法不一样
})

.unwrap() 去除包裹

$('p').unwrap();  =>
<p>p元素</p>

.wrapAll( wrappingElement ) 给集合整体包裹

$('p').wrapAll('<div></div>')
<div>
    <p>p元素</p>
    <p>p元素</p>
</div>

.wrapInner( wrappingElement ):给集合中匹配的元素的内部,增加包裹的HTML结构

<div>p元素</div>
<div>p元素</div>  =>
$('div').wrapInner('<p></p>')   =>
<div>
    <p>p元素</p>
</div>
<div>
    <p>p元素</p>
</div>

.wrapInner( function ) :

$('div').wrapInner(function() {
    return '<p></p>'; 
})

5.jQuery遍历

$().children([selector]) 可以找出所有子元素,selector为选择器

$().find([selector]) 可以找出所有子孙元素,selector为选择器

$().parent([selector]) 找出父元素,selector为选择器

$().parents([selector]) 找出祖辈元素,selector为选择器
$().closest([selector]) 从元素本身开始查找,返回最先匹配的祖先元素
closest和parents()的区别:

1起始位置不同:.closest开始于当前元素 .parents开始于父元素
2遍历的目标不同:.closest要找到指定的目标,.parents遍历到文 档根元素,closest向上查找,直到找到一个匹配的就停止查找,parents一直查找到根元素,并将匹配的元素加入集合
3结果不同:.closest返回的是包含零个或一个元素的jquery对象,parents返回的是包含零个或一个或多个元素的jquery对象

$().next() 找到紧跟在其后面符合选择器的第一个同辈元素
$().prev() 找到紧跟在其后面符合选择器的第一个同辈元素

$().siblings() 找到指定元素集合中每个元素的所有同辈元素

$().add()

例如:选择所有的li元素,之后把p元素也加入到li的合集中
<ul>
    <li>list item 1</li>
    <li>list item 3</li>
</ul>
<p>新的p元素</p>
第一种操作:
$('li').add('p')
第二种操作:
$('li').add(document.getElementsByTagName('p')[0])

$().each(function(index,element))遍历整个jquery集合
index是下标索引,element是对应的元素

$("li").each(function(index, element) {
     index 索引 0,1
     element是对应的li节点 li,li
     this 指向的是li
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值