假设我有这样的东西
<div class="xx" data-id="tid">Jumbo Jet</div>
<div class="press"> clickme </div>
<div class="foo">
....
</div>
<div class="xx" data-id="tid">Hello World</div>
<div class="xx" data-id="tid">Red Brown Fox</div>
是否有一个jQuery函数会在其下(而不是其子级)搜索特定的ID,然后返回第一个结果。在这种情况下,我应该得到“ Hello World”。查找方法行得通吗?我正在做这样的事情
$(".press").click(function () {
var item = $(this).find("#tid");
//Get the classname
var name = item.attr('class'); //returns undefined should return xx
//Also how do I return the content ? "Hello World"
console.log(name);
});
关于我可能在这里做错的任何建议吗?
考虑:
该ID属性指定的HTML元素(值必须是在HTML文档中是唯一的)的唯一ID。
更新:您可以使用nextAll()在当前元素下查找并通过其data属性获取元素,并过滤第一个匹配项。
您可以尝试以下方法:
$(".press").click(function () {
var item = $(this).nextAll('[data-id="tid"]:first')
var name = item.attr('class')
var content = item.html() // html() get the html content
console.log('class name:', name);
console.log('content:', content);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="xx" data-id="tid">Jumbo Jet</div>
<div class="press"> clickme </div>
<div class="foo">
....
</div>
<div class="xx" data-id="tid">Hello World</div>
<div class="xx" data-id="tid">Red Brown Fox</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句