我只想从data-title
设置了自定义数据属性 () 的元素中执行单击功能。目前它们只是a
和button
元素。
为什么即使设置了 no,这段代码也会在所有元素上执行 ?a
button
data-title
$('a[data-title!=""], button[data-title!=""]').on('click', function() {
// do something
});
我应该改变什么?
我只想从data-title
设置了自定义数据属性 () 的元素中执行单击功能。目前它们只是a
和button
元素。
为什么即使设置了 no,这段代码也会在所有元素上执行 ?a
button
data-title
$('a[data-title!=""], button[data-title!=""]').on('click', function() {
// do something
});
我应该改变什么?
使用具有属性选择器
$('a[data-title], button[data-title]').on('click', function() {
// do something
});
你需要的是属性存在选择器
$('a[data-title], button[data-title]').on('click', function() {
// do something
});
为什么?
在您正在检查的情况下data-title!=""
,但如果元素没有属性data-title
,则属性值将null
不是""
(空字符串),因此测试result !== check
将返回 true,因为null !== ""
.