jQuery -> 获取孩子节点

jQuery提供了很多方法来获取一个元素的 direct descendant(直接后代)
最简单的方式是使用 direct descendant combinator (>)
例如,如果要获取如下html代码中 <div id="content">的直接孩子节点中的a元素,就可以直接使用 > 符号
<body>
<div id="content">
<a href="http://www.jquery.com">jQuery</a>
<p>
<a href="http://blog.csdn.net/feelang">jQuery tutorial</a>
</p>
</div>
</body>

使用 selector获取
$('content > a');


当然,也可以使用带两个参数的jQuery函数

$('> a', ‘#content');


也可以链式调用jQuery的api

$('#content').children();


这三个方法都是等价的,但是 $('#content').children()$('content > a')的区别在于前者的查询速度要大于后者。

从表面上看解析selector必然要花费一些时间,但是这种优势并不是绝对的,具体还要取决与浏览器的内部实现。

但是使用在下面这种情况下,使用children()肯定是有优势的。

var anchors = $('#content')

// Getting all direct children of all anchor elements
// can be achieved in three ways

// #1
anchors.children();

// #2
$('> *', anchors);

// #3
anchors.find('> *')

当然,children()函数也接受selector的参数。例如

$('#content').children('p')


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值