我试图用jQuery在下面的代码中定位a.click
。点击a.click
后,p.excerpt
应向下滑动。
出于某种原因,当我定位a.click
时jQuery没有做任何事情 - 点击它时没有任何反应。但是,如果我以父div为目标,则slidedown可以正常工作。
任何想法我做错了什么?
这是HTML:
<div class="listing">
<div class="col-xs-4 title">
<strong><a class="click">The Title</a> </strong>
<p class="excerpt">The Excerpt.</p>
</div>
</div>
下面&#39; jQuery无效:
jQuery( ".listing .title a.click" ).click(function() {
jQuery( "p.excerpt", this ).slideToggle( "slow", function() {
});
});
这里的jQuery工作得很好:
jQuery( ".listing .title" ).click(function() {
jQuery( "p.excerpt", this ).slideToggle( "slow", function() {
});
});
答案 0 :(得分:3)
你的选择器是正确的。尝试:
jQuery( ".listing .title a.click" ).click(function(e) {
e.preventDefault();
jQuery(this).parent().next("p.excerpt").slideToggle( "slow", function() {
});
});
您需要导航到锚点的父级,然后它的下一个元素是p.excerpt
元素。使用语法jQuery( "p.excerpt", this )
,您正在寻找p.excerpt
元素后代的a.click
。 (该处理程序中的this
表示锚元素)