我正在尝试为ajax表编写一些过滤器脚本,并在有人单击该元素时尝试打开覆盖图:
char *array[32];
char buffer[32];
....
while(fgets(buffer, 32, fp)){
array[i] = buffer;
....
如何通过javascript / jquery访问数据过滤器类型和值?不能通过Google找到任何东西。 我正在寻找这样的东西:
<div class="at-filter" data-filter-val="{some_value}" data-filter-type="{some_type}">
...
</div>
编辑:犯了错误!
答案 0 :(得分:0)
您使用attr
:
var type = $(element).attr("data-filter-type");
您也可以使用data
:
var type = $(element).data("filter-type"); // Read the note below, though
...但是,如果您要做的只是访问这些属性的值,则没有必要或不很合适。与普遍的看法相反,data
is not an accessor for data-*
attributes。 (不止如此。)
答案 1 :(得分:0)
要获取属性值,请使用jquery attr()
或纯JavaScript getAttribute
但是
要检索和更改DOM属性,例如表单元素的选中,选定或禁用状态,请使用
.prop()
方法。
或
使用普通JavaScript setAttribute
Optional[empty]
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'));