使用具有特定'数据-*'
Call function on class with elements that has certain 'data-*'
本文关键字:数据 更新时间:2023-12-10
假设我有以下html:
<img onclick="showStruct(this)" class="expand" src="Images/Plus.png" data-hidden="true" style="display: none;">
<img onclick="showStruct(this)" class="expand" src="Images/Plus.png" data-hidden="false" style="display: inline;">
<img onclick="showStruct(this)" class="expand" src="Images/Plus.png" data-hidden="true" style="display: none;">
如果元素被隐藏,我会将true
存储在data-hidden
字段中,因为我必须同时隐藏所有元素,并且通过将"状态"存储在data-hidden
字段中,我确保我知道要再次显示哪些元素。即:
<img onclick="showStruct(this)" class="expand" src="Images/Plus.png" data-hidden="true" style="display: none;">
<img onclick="showStruct(this)" class="expand" src="Images/Plus.png" data-hidden="false" style="display: none;">
<img onclick="showStruct(this)" class="expand" src="Images/Plus.png" data-hidden="true" style="display: none;">
我想做的是,通过使用jquery,只为具有data-hidden: 'false'
的元素设置display: inline;
?
我所拥有的(有效的):
$(".expanded").each
(function() {
if($(this).attr('data-hidden')=='false'){
$('.expanded').show();
}
});
我的问题是,有更好(更有效)的方法吗?还是这是唯一的方法?
您可以简单地使用属性选择器
$('.expanded[data-hidden="false"]').show()
演示:Fiddle
试试这个,
$(".expanded").filter(function(){
return $(this).data('hidden') == 'false';
}).show();
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 画布数据到图像
- 使用jquery将mysql数据获取到新的表行中
- 使用html中的外部javascript进行数据验证
- 有时数据是't显示在浏览器中
- React中的数据集表示
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据