我正试图在图片后获得下一个div:
<a rel="nofollow" href="http://localhost:8046/file.htm" class="imgbox">
<img src="http://www.domain.tld/fm/912/image.png" class="" id="img-1303122" style="max-width:560px;" width="700" border="0" alt="title="/>
</a>
<div id="lic-img-1303122" class="licence-wrapper" style="display:none;">
<div class="licence-spacer"></div>
<div class="licence">© copyright<br /></div>
</div>
我的jQuery代码如下:
console.log($("#img-1303122").nextAll(".licence-wrapper"));
Object { length: 0, prevObject: Object, context: HTMLDocument → JSUmstellung, selector: "#img-1303122.nextAll(.licence-wrapper)" }
那么,为什么我没有得到任何结果?我已经尝试过.next(),. closest()和.siblings(),但都没有。
答案 0 :(得分:2)
答案 1 :(得分:1)
试试这个:你试图直接找到下一个元素到图像,但实际上div存在于锚标记旁边。因此,请使用class="imgbox"
然后.nextAll
console.log($("#img-1303122").closest('.imgbox').nextAll(".licence-wrapper").length);
答案 2 :(得分:0)
#img-1303122
附近没有其他div,可能你的意思是lic-img-1303122
,下一个只查找兄弟姐妹,来自docs:
获取匹配元素集中每个元素的紧随其后的兄弟。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个兄弟。
答案 3 :(得分:0)
.nextAll()获取匹配元素集中每个元素的所有后续兄弟,可选择由选择器过滤。
所以你需要试试这个:
$("#img-1303122").parent().nextAll(".licence-wrapper")
答案 4 :(得分:0)