[英]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.