【问题标题】:Referencing nested class to get JQuery click to work引用嵌套类以使 JQuery 点击工作
【发布时间】:2013-06-11 02:23:13
【问题描述】:

我有一个应该切换 div 的按钮,但我无法让 click 函数指向该按钮。有什么建议吗?

<div class="container">
    <div id="da-slider" class="da-slider">
        <div class="da-slide">
            <h2>About us</h2>
            <p>fsdffjasieffnain</p>
            <div id="test" class="da-link">Read more</div>
            <div class="da-img"><img src="images/1.png" alt="image01" /></div>
        </div>
    </div>
</div>
<div class="layer1">  
        <h1 class="click">click</h1>  
         <div class="content">This is the text to hide</div>      
</div>  

我的不起作用的 Jquery 代码如下所示

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery(".content").hide();
        //toggle the componenet with class msg_body
        jQuery(".da-slider .da-slide .da-link").click(function() {
            jQuery(this).next(".content").slideToggle(500);
        });
    });
</script>

有效的 Jquery 代码如下所示

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery(".content").hide();
        //toggle the componenet with class msg_body
        jQuery(".click").click(function() {
            jQuery(this).next(".content").slideToggle(500);
        });
    });
</script>

【问题讨论】:

  • HTML 中带有class="content" 的元素在哪里?
  • 完成,对此感到抱歉

标签: jquery css class click nested


【解决方案1】:

这是因为您没有 DIV .content 作为您的 .next() 元素。尝试:

jQuery(this).closest('.container').next("div").find('.content').slideToggle(500);

您必须更仔细地查看 jQuery 提供的所有 DOM 遍历方法:

http://api.jquery.com


顺便说一句,不要到处重写 jQuery 这个词:
jQuery(function( $ ) {
    $(".content").hide();
    $(".da-slider .da-slide .da-link").click(function() {
        $(this).closest('.container').next("div").find('.content').slideToggle(500);
    });
});

【讨论】:

  • 我这里有内容:
    test
    。当我尝试单击其他元素时,内容会隐藏,由于某种原因它只是找不到 da-link
  • 我已经在代码中包含了内容元素。它位于容器外部的单独 div 中。我在Jquery代码下得到了代码(因为我在测试,现在看起来有点乱)
  • 我已将代码更改为 jQuery(this).closest('.container').next(".content").slideToggle(500);并没有什么不同
  • @uubiz 是的,希望我的也是;)
  • 仍然无法正常工作..可能是因为我的内容 div 不在容器 div 内?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多