jQuery 属性等于选择器不适用于自定义属性

Posted

技术标签:

【中文标题】jQuery 属性等于选择器不适用于自定义属性【英文标题】:jQuery attribute equals selector not working for custom attribute 【发布时间】:2016-03-25 18:16:19 【问题描述】:

您好,我正在尝试在 div 的单击事件上触发一些 jQuery。我试图通过 jQuery 的属性等于选择器来定位元素,但到目前为止我还没有运气。我过去曾多次使用此选择器,但从未使用自定义属性。自定义属性似乎不太可能对我使用此方法造成问题,但也许我错了。无论如何,这是我正在使用的代码:

$( "div[data-for='product-description']" ).live("click", function(
	alert("test click");
));
<div class="m-pageEl ui-collapsible" data-for="product-description"><a href="#"><span class="ui-btn-txt">Description</span><span class="caret pull-right"></span></a></div>

我没有收到任何控制台错误,所以我不确定这里可能出现什么问题,但我的警报永远不会在点击时触发。我尝试过使用 .click 和 .live("click"... 如果有人有建议,将不胜感激!

【问题讨论】:

【参考方案1】:

jquery 代码应该如下所示,然后它将起作用...

$("div[data-for='product-description']").on("click",function() 
   alert("test click");
);

【讨论】:

抱歉,Karthik,我的问题实际上是在我的 jsFiddle 和代码 sn-p 中缺少对 jQuery 的引用。我的代码和您的代码都可以正常工作。我删除了这个问题,因为这是我的错误。

以上是关于jQuery 属性等于选择器不适用于自定义属性的主要内容,如果未能解决你的问题,请参考以下文章

实时查询插件不适用于可见属性选择器

js自定data-*和jquery的data()用法

jQuery 属性选择器:如何使用自定义命名空间查询属性

jquery 如何选择带有自定义属性的标签?

jquery 如何选择带有自定义属性的标签?

不为空的自定义数据属性上的 jQuery 选择器