以下是处理:我需要查找其他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