我有以下 HTML:
<span class="open_download_link">
<a>Downloads</a>
<img src="layout/download.gif"/>
</span>
<div class="download_box">
<img src="layout/icon_en.png" />
<a target="_blank" href="products/pdf/modules_bp_3230Q_en.pdf">Datasheet download</a>
<img src="layout/pdf.gif" />
<a target="_blank" href="products/pdf/modules_bp_3230Q_en.pdf">pdf, 1.6 MB</a>
</div>
使用这个 jQuery:
$('.open_download_link a, .open_download_link img').click(
function () {
$(this).next('div').slideToggle('slow');
});
我已经尝试了几个小时的sibling、nextAll和其他东西,但没有任何效果。 我实在不明白为什么! 我能做些什么来完成这项工作有什么想法吗?
最佳答案
您正在span
内选择一个a
。 .next()
只会找到链接后面的 img
标签并对其进行处理。
试试这个,使用 parent()
选择span
并然后找到其后面的div
:
$('.open_download_link a, .open_download_link img').click(function () {
$(this).parent().next('div').slideToggle('slow');
});
关于jquery - jQuery 中的 .next 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7654056/