0

我有一个用例,我知道我感兴趣的所有 div 中都会包含“tabz”这个词,但是当用户单击具有此类 id 的 div 时,还没有找到一种方法来触发我的 jquery。

$('div[id=*"tabz"]').on("click", function()
{
 alert(event.target.id);
});

这就是我所拥有的,但是警报永远不会触发。

当我将方法替换为:

   $('div').on("click", function()
  {
    alert(event.target.id);
  });

它会给我以下信息:

tabz91

所以我知道有符合我的选择器的 div,但我不确定为什么警报没有触发。

非常感谢任何帮助

4

3 回答 3

2
$('div[id*="tabz"]').on("click", function()
{
 alert(event.target.id);
});

这是一个错字,*而且是=倒置的。看这个例子:http: //jsfiddle.net/Xcn6N/

于 2013-06-14T15:52:38.577 回答
2

尝试而不是=**=

$('div[id*="tabz"]').on("click", function() {
 alert(event.target.id);
});

有关 jQuery 中选择器的进一步帮助,请参阅此页面

jQuery 选择器

于 2013-06-14T15:52:43.030 回答
2

正确的语法很简单

$('div[id*="tabz"]')

(在您的示例中, = 和 * 是倒置的)。

您可以使用

$('div[id$="tabz"]')

如果 id 属性以您的模式结尾。

于 2013-06-14T15:55:08.000 回答