0

我只想从data-title设置了自定义数据属性 () 的元素中执行单击功能。目前它们只是abutton元素。

为什么即使设置了 no,这段代码也会在所有元素上执行abuttondata-title

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

我应该改变什么?

4

2 回答 2

2

使用具有属性选择器

$('a[data-title], button[data-title]').on('click', function() {
    // do something
});
于 2013-10-30T02:14:49.697 回答
1

你需要的是属性存在选择器

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

为什么?
在您正在检查的情况下data-title!="",但如果元素没有属性data-title,则属性值将null不是""(空字符串),因此测试result !== check将返回 true,因为null !== "".

于 2013-10-30T02:15:10.040 回答