这个问题在这里已有答案:
我试图为ajax表编写一个小的过滤器脚本,并且当有人点击该元素时我试图打开一个叠加层:
<div class="at-filter" data-filter-val="{some_value}" data-filter-type="{some_type}">
...
</div>
如何通过javascript / jquery访问data-filter-type和value?无法通过谷歌找到任何东西。这样的东西是我正在寻找的东西:
this.table.find( '.at-filter' ).each(
function(index, element) {
var type=$(element).data-filter-type();
var val=$(element).data-filter-val();
self.data.filter[type] = {};
$(element).bind('click', {self:self, val:val, type:type}, type.openContextMenu);
}
)
编辑:错误!
要获取属性值,请使用jquery qazxsw poi或使用简单的JavaScript qazxsw poi
但
要检索和更改DOM属性(如表单元素的已选中,已选择或已禁用状态),请使用
attr()
方法。
要么
在简单的JavaScript getAttribute
你使用console.log($('.me').attr('data-attribute'));
console.log($('.me').attr('data-second-attr'));
$('.me').each(function() {
console.log(this.getAttribute('data-attribute'));
console.log(this.getAttribute('data-second-attr'));
this.setAttribute('data-second-attr', 'foo-bar');
console.log('after change', this.getAttribute('data-second-attr'));
})
$('.me').prop('data-attribute', 'baz')
console.log('after change', $('.me').prop('data-attribute'));
:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="me" data-attribute="foo" data-second-attr="bar">yo</div>
你也可以使用attr
:
var type = $(element).attr("data-filter-type");
...但是如果你想要做的就是访问这些属性的值,则没有必要或非常合适。与流行的看法相反,data
。 (它的数量越来越少。)