繁体   English   中英

如何在jQuery中的div中选择类元素

[英]How to select class element inside div in jquery

我正在尝试实现此处描述的平滑滚动效果jQuery平滑滚动到锚点? 使用Godaddy的网站构建器工具。 不幸的是,该工具添加了许多自己的样板代码,并且我自己的标记最终出现在其中。 因此,似乎从来没有调用过jquery脚本,而是使用平常的“跳转”到目标部分来代替平滑滚动效果。

工具生成的标记如下,其中添加了外部div元素并“包装”了我自己的标记(anchor元素):

<div class="wsb-htmlsnippet-element"><a class="scroll" href="#things">Supported Things</a></div>

以类似的方式,目标元素id也包含在div中:

<div class="wsb-htmlsnippet-element"><section id="things"><h2>Supported Things</h2></section></div>

无论网站构建器工具用来包装我自己的自定义标记的额外div(或其他元素)是多少,我都应该修改原始脚本(在下面复制)以使其起作用。

$(".scroll").click(function(event){
   event.preventDefault();
   //calculate destination place
     var dest=0;
     if($(this.hash).offset().top > $(document).height()-$(window).height()){
          dest=$(document).height()-$(window).height();
     }else{
          dest=$(this.hash).offset().top;
     }
     //go to destination
     $('html,body').animate({scrollTop:dest}, 1000,'swing');
 });

要在div中选择类元素,请执行以下操作:

$("div.wsb-htmlsnippet-element").find(".someclass").click(function(event){
 . 
 .
 . 
});

据我所知,无论锚周围有多少元素,您的脚本都已经可以工作。

编辑:感谢downvote,虽然我是正确的: https : //jsfiddle.net/wfvjus0h/

<div class="whatever"><div class="ok">
<div class="wsb-htmlsnippet-element"><a class="scroll" href="#things">Supported Things</a></div>
    </div></div>

<div class="longdiv">aeaeaeae</div>

<div class="wrapper1""><div class="wrapper2"><div id="things">Things</div></div></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM