jquery - jQuery 中的 .next 不起作用

标签 jquery

我有以下 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/

相关文章:

javascript - 使用 AJAX 从 JavaScript 调用 PHP 函数

asp.net - jQuery 单击事件处理程序为复选框调用两次

javascript - 如何检查 Node JS 服务器端代码中是否启用了 javascript

javascript - 如何从下拉列表中显示选定的选项

jquery - CSS3 幻灯片错误

javascript - 错误 "ReferenceError: Velocity is not defined"的原因可能是什么?

javascript - 使用 jquery 为红色框制作动画

jquery - Rails 3 + jquery + ajax - 不要在重定向的 ajax 请求时丢弃 flash

jquery - slider 拇指更容易捕获触觉设备

javascript - JQuery 验证未在电子邮件字段中实现 'required'