我想仅在具有设置的自定义数据属性(data-title
)的元素进行点击时执行功能。目前它们只是a
和button
元素。访问某些元素上的所有自定义数据属性
为什么这段代码执行上即使没有data-title
所有a
和button
元素设置?
$('a[data-title!=""], button[data-title!=""]').on('click', function() {
// do something
});
我应该改变什么?
我想仅在具有设置的自定义数据属性(data-title
)的元素进行点击时执行功能。目前它们只是a
和button
元素。访问某些元素上的所有自定义数据属性
为什么这段代码执行上即使没有data-title
所有a
和button
元素设置?
$('a[data-title!=""], button[data-title!=""]').on('click', function() {
// do something
});
我应该改变什么?
$('a[data-title], button[data-title]').on('click', function() {
// do something
});
你需要的是attribute exists selector
$('a[data-title], button[data-title]').on('click', function() {
// do something
});
为什么呢?
在你的病情,你正在检查data-title!=""
,但如果元素不具备的属性data-title
的属性值将是null
不""
(空字符串),因此测试result !== check
将返回true,因为null !== ""
。
我觉得哑巴。谢谢你... –
@JaredEitnier不要觉得你已经学不到新东西了:) –
*学会了:)希望你也做了太多哈哈。 –