如何从一个元素的nextAll()检索列表中检索attr值
How to retrieve an attr value from an nextAll() retrieved list from one element?
问题是:我需要在其他HTML元素的列表中查找一个元素,查找下一个具有类'.wwanted class'的元素。我在同一类的一个元素中激发/捕获click
事件。我最终得到了一个看起来像这样的解决方案:
$('#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
属性吗?
更新显然,更好的方法是使用nextAll
的next
整数,但我在同一类的元素之间有其他元素。因此,next
函数不适用于这种情况。是的。。。我试过了。
用$()
包装它,将其转换为jQuery对象:
$($('#id-element-0000').nextAll('.wanted-class')[0]).attr('data-wanted');
或者简单地使用
$('#id-element-0000').nextAll('.wanted-class').first().attr('data-wanted');
当您对jQuery对象进行索引时,您将得到HTMLElement
,它没有jQuery所具有的方法。
您正在访问jQuery包装器集中的第一个元素。您应该再次将其转换为jQuery对象,或者使用返回jQuery对象的.eq
方法获得第一个项目:
$('#id-element-0000').nextAll('.wanted-class').eq(0).attr('data-wanted');
jsFiddle演示。
相关文章:
- 使用JSP从服务器检索和显示图像
- 通过Magento的网络服务检索运费
- 如何通过php页面将数据库值检索到jquery自动完成框中
- 无法使用javascript检索SPList项
- 可以't使用Angular解析/检索JSON
- GoogleFeed正在检索图像
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 使用Scala Play Framework视图中的键检索映射值
- 从数据库中检索字段,而不模拟它们
- 如何在corona sdk中从CK编辑器中检索数据
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 在Node.js中上传和检索图像
- XML2JSON并检索数据
- 如何从php返回的JSON中检索值
- 如何在.js函数中检索来自其他模板的表单的目标值
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 使用javascript进行JSON数据检索
- 检索MongoDB binData并显示为<img>src
- 为什么可以't我将检索到的文档分配给控制台中的变量
- 如何从一个元素的nextAll()检索列表中检索attr值