Javascript jquery选择器不处理动态值
出于某种原因,我的jQuery函数不能处理动态值 当用户单击span“单击此处”时,我试图显示/隐藏内容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
(“项目内容”)
如果我不使用嵌套的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();这个问题已经被回答和接受了,你们已经重复了被接受的答案。这个问题已经被回答和接受了,而你只是重复了被接受的答案。作为替代方案,这没有增加任何价值。