2013-10-30 44 views
0

我想仅在具有设置的自定义数据属性(data-title)的元素进行点击时执行功能。目前它们只是abutton元素。访问某些元素上的所有自定义数据属性

为什么这段代码执行上即使没有data-title所有abutton元素设置?

$('a[data-title!=""], button[data-title!=""]').on('click', function() { 
    // do something 
}); 

我应该改变什么?

回答

2

使用Has Attribute Selector

$('a[data-title], button[data-title]').on('click', function() { 
    // do something 
}); 
+0

我觉得哑巴。谢谢你... –

+0

@JaredEitnier不要觉得你已经学不到新东西了:) –

+1

*学会了:)希望你也做了太多哈哈。 –

1

你需要的是attribute exists selector

$('a[data-title], button[data-title]').on('click', function() { 
    // do something 
}); 

为什么呢?
在你的病情,你正在检查data-title!="",但如果元素不具备的属性data-title的属性值将是null""(空字符串),因此测试result !== check将返回true,因为null !== ""