【问题标题】:Chained reference to child element not working JQuery对子元素的链接引用不起作用 JQuery
【发布时间】:2019-07-28 02:36:20
【问题描述】:

我确定我错过了一些基本的东西,但过去一个小时我一直在谷歌搜索/尝试一些东西,但没有取得任何进展。

非常简单:我想在单击父元素时显示/隐藏子元素(使用 css visibility 属性)。这是我的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<div onclick="test()">
    <h2 class="t"> HI THERE</h2>
</div>

<script>
    function test() {
        var t = $(this).children('.t'); //THIS RETURNS [OBJECT OBJECT]
        alert(t.attr('class')); //THIS IS "undefined"
        t.css('visibility','hidden'); //THIS DOES NOT WORK
        // $('.t').css('visibility','hidden'); //THIS WORKS
    };
</script>

我试过.find().children().siblings()。一个很好的堆栈溢出post 应该回答我的问题没有 - 我尝试了每一个答案/评论。我也试图找到引用这个元素的其他方法,但它需要来自已单击的父级(“t”类中的元素太多,无法通过 id 引用)。但是,它可以被标签名引用(被点击的父级只有一个子级)。

非常感谢所有帮助!

【问题讨论】:

    标签: jquery css parent-child


    【解决方案1】:

    this 用于此上下文(在函数中)时,它表示一个全局window 对象。

    把你的函数改成

    function test(element) {
        var t = $(element).children('.t'); 
        //other calls
    }
    

    ...在您的onclick 中,发送this 作为参数:

    <div onclick="test(this)">...</div>
    

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 2016-09-04
      • 2023-03-03
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      相关资源
      最近更新 更多