Javascript jquery选择器不处理动态值

Javascript jquery选择器不处理动态值,javascript,html,jquery,Javascript,Html,Jquery,出于某种原因,我的jQuery函数不能处理动态值 当用户单击span“单击此处”时,我试图显示/隐藏内容(“项目内容”) 如果我不使用嵌套的HTML,一切都可以正常工作,但由于某种原因,当我使用嵌套的HTML时,我的函数会中断 $('.item content').hide(); $(文档).on('click','.main.child span.item title',函数(e){ e、 预防默认值(); $(this.next('.main.child span.item content

出于某种原因,我的jQuery函数不能处理动态值

当用户单击span“单击此处”时,我试图显示/隐藏内容
(“项目内容”)

如果我不使用嵌套的HTML,一切都可以正常工作,但由于某种原因,当我使用嵌套的HTML时,我的函数会中断

$('.item content').hide();
$(文档).on('click','.main.child span.item title',函数(e){
e、 预防默认值();
$(this.next('.main.child span.item content').toggle();
});

点击这里
1.
>
点击这里
2.
>
点击这里
3.

您正在切换的选择器不正确,因为它正在查找名为“项目内容”的范围。应该是:

$(this).next('.main .child div.item-content').toggle();

您切换的选择器不正确,因为它正在查找名为“项目内容”的范围。应该是:

$(this).next('.main .child div.item-content').toggle();

.next
查找下一个同级,因此在代码中不需要指定要查找的类,因为您只需要获取
span
同级,即
.item content

工作示例:

$('.item content').hide();
$(文档).on('click','.main.child span.item title',函数(e){
e、 预防默认值();
$(this.next().toggle();
});

点击这里
1.
>
点击这里
2.
>
点击这里
3.

.next
查找下一个同级,因此在代码中不需要指定要查找的对象的类,因为您只需要获取同级对象,即
.item content

工作示例:

$('.item content').hide();
$(文档).on('click','.main.child span.item title',函数(e){
e、 预防默认值();
$(this.next().toggle();
});

点击这里
1.
>
点击这里
2.
>
点击这里
3.

首先,确保在页面上的自定义脚本之前启动jQuery cdn库。 css和jquery都有两种隐藏组件的方法。我也在发布css脚本,最好使用css隐藏。 另外,也不需要在toggle的click事件中从顶部指定类,next()函数基本上是查找下一个html组件

$('.item content').hide();//如果使用css隐藏,则不需要此行
$(文档)。在('单击','项标题',函数()上){
$(this.next().toggle();
});
。项目内容{
显示:无;
}

点击这里
1.
>
点击这里
2.
>
点击这里
3.

首先,确保在页面上的自定义脚本之前启动jQuery cdn库。 css和jquery都有两种隐藏组件的方法。我也在发布css脚本,最好使用css隐藏。 另外,也不需要在toggle的click事件中从顶部指定类,next()函数基本上是查找下一个html组件

$('.item content').hide();//如果使用css隐藏,则不需要此行
$(文档)。在('单击','项标题',函数()上){
$(this.next().toggle();
});
。项目内容{
显示:无;
}

点击这里
1.
>
点击这里
2.
>
点击这里
3.

非嵌套HTML是什么意思?“项目内容”属于div而不是span。将脚本更正为$(this.next('.main.child div.item-content').toggle();你对
非嵌套HTML
是什么意思?“项目内容”属于div而不是span。将脚本更正为$(this.next('.main.child div.item-content').toggle();这个问题已经被回答和接受了,你们已经重复了被接受的答案。这个问题已经被回答和接受了,而你只是重复了被接受的答案。作为替代方案,这没有增加任何价值。