jquer节点关系

1:查找:
children([expr]) nextAll([expr) parents([expr])
closest(elole) nextUntil( [ele] [.f]) parentsUntil([ele][.f])
find(elole) offsetParent() prev([expr])
next([expr]) parent([expr]) prevall([expr])
prevUntil([ele][.f]) siblings([expr])
都是方法,因为里面暗含了迭代器了。
children()方法:所有亲儿子节点。就是儿子,孙子不在children()里面。让box的所有儿子变红:
$(’#box’).children().css(‘background-color’,‘red’);
儿子有很多,可以用选择器来表示怎么样的儿子:
$(’#box’).children(‘h3’).css(‘background-color’,‘red’);
还可以用筛选器:
$(’#box’).children(’:odd’).css(‘background-color’,‘red’);
jQuery屏蔽掉了浏览器兼容问题,不存在空文本节点也是儿子了,事实上children()返回的只能是节点,所有的文本都不算做是儿子了。
find()
所有后代元素。和children()不一样,children()返回的是自己亲儿子元素列表,而find()返回的是自己后代所有元素 列表。
$(’#box’).find(‘p’).css(‘background-color’,‘red’);
注意:和children()方法不一样,find()方法里面,必须写参数,表示后代的谁? 说白了find是寻找的意思,就是你要在后代寻找谁。
parent()
亲爸爸。任何元素都有一个亲爸爸。
$(‘p’).parent().css(‘background-color’,‘red’);
parents()
这个元素的所有祖先节点。
siblings()
亲兄弟
$(’.xiaoming’).siblings().css(‘background-color’,‘red’);
同样的jQuery只返回节点元素,对于文本、注释都不视为兄弟。
可以加选择器、帅选器。
$(’.xiaoming’).siblings(’:odd’).css(‘background-color’,‘red’);
排他,再也不用担心写for循环了:
$(this).addClass(‘cur’).sinlings().removeClass(‘cur’);
我加cur,我的兄弟们去cur。
prev()、next()、prevAll()、nextAll()
前一个兄弟、后一个兄弟、前所有兄弟、后所有兄弟。
jQuery屏蔽了所有的不兼容,只选择nodeType=1的元素,不选择文本、注释等等。并且不用for循环了,一次性的到所有东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值