以下是處理:我需要查找其他HTMLElements列表中的元素,以查找下一個具有「.wanted-class」類的元素。我在同一課程的其中一個元素中觸發/捕獲了一個click
事件。我結束了一個解決方案,看起來像這樣:如何從一個元素的nextAll()檢索列表中檢索attr值?
$('#id-element-0000').nextAll('.wanted-class');
這應該回到屬於這一類屬於一個我點擊後的所有元素的列表。類似這樣的:
<div class="wanted-class" id="id-element-1111" data-wanted="6127">…</div>
<div class="wanted-class" id="id-element-2222" data-wanted="6128">…</div>
<div class="wanted-class" id="id-element-3333" data-wanted="6129">…</div>
<div class="wanted-class" id="id-element-4444" data-wanted="6130">…</div>
但是,我只想要第一個。我不需要其他人。於是我想出了(又名:在谷歌找到),這是一個簡單的解決方案:
$('#id-element-0000').nextAll('.wanted-class')[0];
這顯然返回此:
<div class="wanted-class" id="id-element-1111" data-wanted="6127">…</div>
這解決了first element
問題。但是,我無法訪問元素上的data-wanted
屬性。喜歡的東西:
$('#id-element-0000').nextAll('.wanted-class')[0].attr('data-wanted');
......或者......
$('#id-element-0000').nextAll('.wanted-class')[0].data('wanted');
...根本不工作。而且我似乎也無法將它變成一個變量。
問題:沒有人知道如何從列表中的第一個元素檢索data-wanted
屬性?
UPDATE 顯然,這樣做的更好的辦法是使用next
這一翻譯的nextAll
,但我已經從這個相同的類元素之間的其他元素。因此,next
函數不適用於這種情況。而且,是...我已經嘗試過了。
當你在一個jQuery對象上使用'[number]'時,它返回DOM元素。它不再被jQuery包裝。這就是爲什麼jQuery功能不起作用。 – Stryner 2014-09-02 17:03:01
謝謝,@尼斯!我不知道。感謝您的啓發! :D – 2014-09-02 17:10:29