javascript - jquery选择器不适用于动态值
问题描述
由于某种原因,我的 jQuery 函数无法处理动态值。
("item-content")
当用户单击跨度“单击此处”时,我正在尝试显示/隐藏内容。
如果我不使用嵌套 HTML,一切正常,但由于某种原因,当我使用嵌套 HTML 时,我的函数会中断。
$('.item-content').hide();
$(document).on('click','.main .child span.item-title', function(e){
e.preventDefault();
$(this).next('.main .child span.item-content').toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div class="main">
<div class="child">
<span class="item-title" style="cursor:pointer">
Click here
</span>
<div class="item-content">
<div class="item-body">
1
</div>
</div>
</div>
<div class="child">>
<span class="item-title" style="cursor:pointer">
Click here
</span>
<div class="item-content">
<div class="item-body">
2
</div>
</div>
</div>
<div class="child">>
<span class="item-title" style="cursor:pointer">
Click here
</span>
<div class="item-content">
<div class="item-body">
3
</div>
</div>
</div>
</div>
解决方案
.next
寻找下一个兄弟,所以在你的代码中你不需要指定你正在寻找的类,因为你只是得到span
兄弟,即.item-content
.
工作示例:
$('.item-content').hide();
$(document).on('click','.main .child span.item-title', function(e){
e.preventDefault();
$(this).next().toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div class="main">
<div class="child">
<span class="item-title" style="cursor:pointer">
Click here
</span>
<div class="item-content">
<div class="item-body">
1
</div>
</div>
</div>
<div class="child">>
<span class="item-title" style="cursor:pointer">
Click here
</span>
<div class="item-content">
<div class="item-body">
2
</div>
</div>
</div>
<div class="child">>
<span class="item-title" style="cursor:pointer">
Click here
</span>
<div class="item-content">
<div class="item-body">
3
</div>
</div>
</div>
</div>
推荐阅读
- android - 模块'app':找不到平台'android-28',android studio 3.6.3
- javascript - 处理来自 Apollo GraphQL 的空数据
- c# - Unity Photon 定时器同步
- database-design - 如何使用 cassandra 实现更改流?
- azure-devops - Devops terraform:.tf 文件中的后端配置与 devops 的 terraform CD 配置中的后端配置
- sql - 将同一表中的查询合并到不同的列中
- linux - Linux命令在文件中的某个单词之后剪切所有内容并导出到另一个文件
- arrays - 为什么我会从二维数组中打印出随机数?
- javascript - 如何比较一天中某个时间过去的时间(超过 23:59)
- python - 嵌套 if 在不工作的 Python 中有一个 while 循环