我有一个类似于这样的布局:
<li class="item">
<div class="data">
<div class="pics">
<div class="pic"></div>
<div class="pic"></div>
<div class="pic"></div>
<div class="btns">
<div class="btn 1"></div>
<div class="btn 2"></div>
</div>
</div>
</div>
<input type="hidden" value="" name="">
<input type="hidden" value="" name="">
<input type="hidden" value="" name="">
<input type="hidden" value="" name="">
</li>
我想做的是从单击<li>
其中一个按钮时 获取所有输入元素class="btn"
。我接近这个的方式本质上是抓住<li>
按钮的父级,然后选择<input>
元素......
var inputs = $($(element).parents('.item')[0]).children('input');
...element
单击的按钮之一在哪里。
这种方法似乎可以满足我的要求,但是有更好的方法吗?这似乎相当低效,但我没有确切知道的性能指标。有什么想法或建议吗?
更新
我去 jsPerf 测试我的选择:http: //jsperf.com/jq-select。似乎我所拥有的比 using 更快closest()
,这是我没有猜到的。