2012-08-15 61 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

相關問題