Jquery 如何绑定到元素数据属性
我有一个数据属性,如:Jquery 如何绑定到元素数据属性,jquery,html,Jquery,Html,我有一个数据属性,如: <a href="stuff" data-open-dialog="location-XXXX">click</a> <a href="stuff" data-open-dialog="location-YYYY">click</a> 但是,如何使该值成为动态的,然后在单击时获得该值呢 谢谢你所做的并不是真正的“束缚”。您只想检索它的值,或者我这么认为。 试着这样做: $('a[data-open-dialog]').c
<a href="stuff" data-open-dialog="location-XXXX">click</a>
<a href="stuff" data-open-dialog="location-YYYY">click</a>
但是,如何使该值成为动态的,然后在单击时获得该值呢
谢谢你所做的并不是真正的“束缚”。您只想检索它的值,或者我这么认为。试着这样做:
$('a[data-open-dialog]').click(function(e) {
e.preventDefault();
var location = $(this).data('open-dialog');
...
});
位置
将保留位置XXXX或位置YYYY。这应该是一个简单的事情,你剥离“位置-”部分
Fiddle:我想您的意思是,您希望选择任何具有属性的元素,然后在单击事件中获取该属性的值。如果是,请使用has属性选择器:
$('a[data-open-dialog]').click(function() {
var location = $(this).data('open-dialog');
});
如果只需要XXX
部分,则应执行.substr(9)
删除字符串的前9个字符
请参阅jQuery手册:
var data_contains = function(obj, val) {
console.log(obj, val);
if ($(obj).data('open-dialog') != undefined) {
if ($(obj).data('open-dialog') == val) return true;
}
return false;
}
$('a').filter(function() {
return data_contains(this, "location-XXXX");
}).click(function() {
alert(this.innerHTML);
return false;
});
$('a[data-open-dialog]').click(function() {
var location = $(this).data('open-dialog');
});