Javascript jQuery find()无法与prev()一起使用
我可能做得不对,所以我需要你的帮助。 我在这里设置了一个JSFIDLE: HTML:Javascript jQuery find()无法与prev()一起使用,javascript,jquery,html,Javascript,Jquery,Html,我可能做得不对,所以我需要你的帮助。 我在这里设置了一个JSFIDLE: HTML: $(“.layered\u subtitle\u heading”)。单击(函数(){ $(this.prev().find('.layered_close').toggleClass('closed'); $(this.prev().find('.layered_filter_ul').toggle(); }); 金属 该.prev()方法用于导航到上一个兄弟姐妹。您的目标没有以前的兄弟姐妹;它是
$(“.layered\u subtitle\u heading”)。单击(函数(){
$(this.prev().find('.layered_close').toggleClass('closed');
$(this.prev().find('.layered_filter_ul').toggle();
});代码>
金属
-
该.prev()
方法用于导航到上一个兄弟姐妹。您的目标
没有以前的兄弟姐妹;它是它父母的第一个孩子
你可能想做的是
$(this).parent().find('.layered_close').toggleClass('closed');
或者,为了更能适应变化:
$(this).closest(".layered_filter").find('.layered_close').toggleClass('closed');
.prev()
方法用于导航到上一个同级。您的目标
没有以前的兄弟姐妹;它是它父母的第一个孩子
你可能想做的是
$(this).parent().find('.layered_close').toggleClass('closed');
或者,为了更能适应变化:
$(this).closest(".layered_filter").find('.layered_close').toggleClass('closed');
要修复它,请删除.prev()并添加.siblines()以使ul切换
$( ".layered_subtitle_heading" ).click(function() {
$(this).find('.layered_close').toggleClass('closed');
$(this).siblings('.layered_filter_ul').toggle();
// you need to use alert()
alert('da');
});
而且你没有把jQuery添加到你的小提琴中-
要修复它,请删除.prev()并添加.sibbins(),以使ul切换
$( ".layered_subtitle_heading" ).click(function() {
$(this).find('.layered_close').toggleClass('closed');
$(this).siblings('.layered_filter_ul').toggle();
// you need to use alert()
alert('da');
});
而且你没有把jQuery添加到你的小提琴中-
试试这个
$(document).ready(function(){
$( ".layered_subtitle_heading" ).click(function() {
$(this).parent().toggleClass('closed');
});
});
试试这个
$(document).ready(function(){
$( ".layered_subtitle_heading" ).click(function() {
$(this).parent().toggleClass('closed');
});
});
使用$(this).parent()将返回Just use closest(),这可能会对您有所帮助。@GiorgiJambazishvili在单击您正在收听的标题时仍然没有任何内容单击$(“.layered\u subtitle\u heading”)
?保持浏览器控制台打开,以便您可以看到错误,例如您的小提琴因为缺少jQuery而收到的错误。使用$(this).parent()将返回Just use closest(),它可能会对您有所帮助。@GiorgiJambazishvili在单击您正在收听的标题时仍然没有任何内容单击$(“.layered\u subtitle\u heading”)
?保持浏览器控制台处于打开状态,以便查看错误,例如由于缺少jQuery而导致fiddle出现的错误。您在JSFIDLE中尝试过答案吗?这两个建议都不起作用。@fegiar您的JSFIDLE不起作用,因为您没有将其配置为导入jQuery。您在JSFIDLE中尝试过答案吗?这两个都是这些建议不起作用。@fegiar您的JSFIDLE不起作用,因为您没有将其配置为导入jQuery。其他有效的选项是@Pointy建议的选项和.next()其他有效的选项是@Pointy建议的选项和.next()