2012-08-15 63 views
0

我的页面上有一些label标签,其中一些标签有myAttr属性。jQuery如何找到具有特定属性的下一个元素?

我选择他们的喜欢$('label[myAttr="lorem"]')

如何一个后找到下一个label(与myAttr属性)?每个label标签的myAttr的值不同。

+0

他们是兄弟姐妹吗?你可以发布相关的标记吗? – 2012-08-15 12:51:19

回答

4

你可以像这样与属性选择所有<label> S的:

$('label[myAttr]') 

,并使用.each()遍历集合。如果你已经有了该集合,只想从$('label[myAttr="lorem"]')跳跃到下一个<label>与属性,这将工作:

var $labels = $('label[myAttr]'); 
var $current = $('label[myAttr="lorem"]'); 
var currentIndex = $labels.index($current); 
var $next = $labels.eq(currentIndex + 1); 

http://jsfiddle.net/mattball/xZKGk

注:我不建议在循环中这样做,因为它的渐近运行时行为。

+0

你不能使用'next()',因为它会选择第一个元素之后的元素,而不是原始元素集中的下一个元素。 http://jsfiddle.net/s75fP/ – kontur 2012-08-15 12:55:56

+0

@kontur编辑在一般情况下工作。思考? – 2012-08-15 13:27:44

+0

我会说它的工作原理。更新你的小提琴有点封装和处理最后行情况:http://jsfiddle.net/xZKGk/1/ – kontur 2012-08-15 13:42:49

相关问题