获取更多元素的数据值
Get data value of more element
我有一个小应用程序,它在选中复选框时创建一个data-pref=true
,并在未选中时将其切换为data-pref=false
。
为了识别,该复选框还有一个 data-column
.
这里有一个例子:.js:
$('#dropContent [data-pref=true]')[0].data('column')
.html:
<div id="dropContent">
<input data-column="id" data-pref="false" type="checkbox">id
<br />
<input data-column="weight" data-pref="true" type="checkbox">weight
</div>
我需要按点击[0][1][2]
的顺序自动获取数据列值,但使用 .data('column')
、.attr
和.prop
是不可能的......
当第一次data-pref
成为真时,取值 [0]$('#dropContent [data-pref=true]'([0]当第二个data-pref
成为现实时,取值 [1]$('#dropContent [data-pref=true]'([1]等。。。
此功能保存用户选择的列的首选项,当用户选择一列时(这需要data-pref=true[0]
(,当用户取消选择一列[这需要data-pref=false[0]
(。当页面调整大小时,我的表格搜索data-pref=true
我需要具有 data-column
的值才能将默认列替换为用户单击...
使用 .map().get()
:
$('#dropContent :checkbox').change(function (){
var cols = $('#dropContent [data-pref=true]').map(function (i, el){
return $(el).data('column');
}).get();
console.log(cols);
});
.map()
将迭代具有特定data-pref
属性的元素复选框,get()
将获取数组中的值。
https://jsfiddle.net/gy3prrgg/2/
理解正确,您希望针对所有项目,而不仅仅是一个项目。
如果使用选择器$('#dropContent [data-pref=true]')
它会返回一个数组,该数组可以循环:
$(function() {
$('#dropContent [data-pref=true]').each( function(index) {
var c = $(this).data('column');
console.log( c );
});
});
在each()
中,您可以处理数据,例如将其添加到数组或将其写入元素中。
使用循环
var column =[];
$('#dropContent [data-pref=true]').each(function(i,v){
column.push($(v).attr('data-column'));
});
https://jsfiddle.net/6usgnker/
$($('#dropContent [data-pref=true]')[nrPriority]).data('column');
问题是:.data
只有$('')
声明才能发挥作用....
- 基于数据元素限制动态表单字段
- 为什么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