javascript - 有没有办法从 Javascript 中的 <a> 链接访问包含的 div?

标签 javascript jquery html

我想做的是单击 div 内的图像链接,然后让包含我的图像链接的 div 消失 (display:none;)。现在我的 html 具有以下结构

<div id="one">
    <div>
        Words Words Words
        <a href="javascript:void(0);" onClick="hideDiv('#one')";>
            <img src="foo.jpg" />
        </a>
    </div>
</div>
<div id="two">
    <div>
        Words Words Words
        <a href="javascript:void(0);" onClick="hideDiv('#two')";>
            <img src="foo.jpg" />
        </a>
    </div>
</div>

hideDiv() 函数如下所示:

function hideDiv(divId) {
    $(divId).hide();
}

这很好用,但可能有点麻烦。我希望不需要通过 id 显式定义我想要隐藏的 div,并且让 Javascript 捕获链接单击事件并执行类似 $(this_link.parent_div.parent.div) 的操作。隐藏();。不幸的是,我不知道该怎么做,但我相信一定有办法!

最佳答案

与其使用一个 id 来包含 div,不如使用一个公共(public)类,然后使用它。

HTML

<div class="container">
    <div>
        Words Words Words
        <a href="javascript:void(0);">
            <img src="foo.jpg" />
        </a>
    </div>
</div>

Js

$('a').click(function(){
      $(this).closest('.container').hide();
});

如果您不想添加任何类,那么您可以简单地尝试一下。

$('a').click(function(){
      $(this).parent().parent().hide();
});

工作演示 - http://jsfiddle.net/ShankarSangoli/MvkEa/

引用资料:

关于javascript - 有没有办法从 Javascript 中的 <a> 链接访问包含的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9489498/

相关文章:

javascript - 在 Javascript 中将日期格式化为LocaleDateString

javascript - 如何使用 javascript 进行跨域 http get 请求?

javascript - ECMA-/Javascript Array.prototype.forEach

javascript - 使用 HTML 下拉菜单生成表单

html - 如何在 C 中解码 HTML 实体?

javascript - 限制网页上字符串的显示长度

javascript - 对象 someUrl#someHash 没有方法 'contains'

javascript - 在 IE 7 中获取 iframe 内容

jquery - CSS Div 内容与其他内容重叠

html - 使用 CSS 或 HTML 如何消除网站的边距?