仅在单击某些元素时显示上下文菜单

时间:2013-03-07 20:22:50

标签: javascript jquery html google-chrome google-chrome-extension

我有点困惑,我需要你的帮助。

我试图仅在用户右键单击页面中的某些元素时才显示上下文菜单。

我认为我通过使用getElementByClassName(...)并向每个元素添加onClick侦听器来解决此问题,当用户单击其中任何一个时,我将创建上下文菜单。一切都完成后再删除内容菜单。

问题是我没有这些元素的完整类名,我知道他们都以“故事”开头。

我不知道该怎么做。有没有办法使用正则表达式并使用故事的类名获取所有元素?或者这是不可能的。

提前致谢,

2 个答案:

答案 0 :(得分:0)

this library允许使用正则表达式选择器。

<div class="story-blabla"></div>

$("div:regex(class, story.*)")

但是,您可能不想实现完整的库。还有另一种解决方案:

$('div').filter(function() {
    return this.class.match(/story.*/);
    })

这将返回您想要的对象。

答案 1 :(得分:0)

您可以使用attribute starts with selector

执行此操作

document.querySelectorAll("[class^=story]")