方法来使用jQuery选择匹配的数据元素
Method to select matching data elements using jQuery
我是jQuery的新手,有一个超出我所知范围的问题。我有一个具有唯一数据编号的链接和一个具有匹配数据编号的div。目标是隐藏所有div,当用户单击每个链接时,div将显示匹配的数据编号。
我很难理解的部分是如何迭代所有链接和匹配它们的div,这样当单击每个链接时,只会显示具有相同数据编号的匹配div。
以下是我目前在Coffescript:中的内容
$('#task-item').on('click', (event) ->
n = $(@).data('number')
if (n > 0)
event.preventDefault()
$('#task-info').fadeToggle(600)
)
示例html链接:
<li id="task-item" data-number="3">
<span class="label label-purple"> Task</span>
<i class="icon-angle-right"></i>
<span class="label label-success">Open</span>
<a href="#" id="task-desc">NEW SAVE METHOD FOR TASKS</a>
..... additional HTML....
</li>
示例div html:
<div id="task-info" data-number="3" class="span8">
..... #MORE HTML HERE ....
</div>
如果有更好的方法来实现这一点,我愿意接受任何建议。
首先,我假设您的示例中的li
和div
重复多次,因此您应该使用class
来识别它们。其次,可以使用filter
根据所需的数据属性查找元素。试试这个:
$('.task-item').on('click', (event) ->
var $item = $(this);
$('.task-info').filter(function() {
return $(this).data('number') == $item.data('number');
}).fadeToggle(600);
查看jQuery属性选择器
http://api.jquery.com/attribute-equals-selector/
您应该能够像这样选择您想要的div:
$("div[data-value='3']")
我建议的第一件事是将li
id更改为类似<li class="task-item">
的类
然后
<div class="task-info" data-number="3" class="span8">
JS-
$(".task-item").click(function(e){
var itemNumber=$(this).data('number');
$('.task-info').filter(function() {
return $(this).data('number') == itemNumber
}).fadeToggle(600);
});
相关文章:
- 基于数据元素限制动态表单字段
- 为什么DTM数据元素被调用两次
- 方法来使用jQuery选择匹配的数据元素
- 访问jQuery中的SVG数据元素
- Ajax 数据元素未拾取
- 从 json 字符串中提取数据元素
- Jquery验证插件,使用选项的数据元素作为验证检查
- 未捕获的异常:每个数据元素都必须实现一个唯一的“id”属性slick.dataview.js
- Knockout foreach 循环迭代相同的数据元素
- 从数据表重新加载 javascript 数据元素 asp.net 而不重新加载页面
- 如何从html中删除数据元素
- 使用jquery从HTML5数据元素中获取并执行函数+参数
- 按属性选择d3.js数据元素
- jQuery过滤器不返回数据元素,只返回整个对象
- 添加< >标记在选择的enter()部分的主数据元素之前
- 为数据元素设置一个变量
- 在javascript中转义数据元素中的撇号
- 如何访问CSV文件的数据元素
- 在adobedtm数据元素中寻找自定义脚本
- 问题更新Adobe分析变量通过数据元素在动态标签管理器- DTM