如何使用包含特定字符串的CSS类向DIVS添加事件处理程序?

时间:2011-10-18 14:17:34

标签: javascript jquery css

我希望能够为一些DIV元素添加一些onclick事件处理程序,这些元素由匹配特定字符串的CSS类设置样式。 DIVS将用于特定类型的图像,它代表离散事件模拟中的工作中心,我希望用户能够点击,更改某些设置,然后再次运行模拟。

我正在使用一个很久以前开发的系统来处理这些图像:

<div id="Decision__1" class="S8DisplayObject Image__for__Decision__1" style="top:35px; left:579px; width:118px; height:71px;"><div id="Decision__1_textData_2" class="S8Web-TextData" style="left:-136px; top:-12px;"><div class="noTextWrap">0</div></div><div class="sb_block_display"></div></div>
<div id="Decision__2" class="S8DisplayObject Image__for__Decision__2" style="top:35px; left:579px; width:118px; height:71px;"><div id="Decision__2_textData_2" class="S8Web-TextData" style="left:-136px; top:-12px;"><div class="noTextWrap">0</div></div><div class="sb_block_display"></div></div>

因此它会逐渐为每个类分配一个数字,在这种情况下,我想要比较的字符串将是Image__for__Decision。不幸的是,我无法真正深入研究这些CSS类的命名方式,因为它们是更大转换过程的一部分。

任何提示都将不胜感激!

3 个答案:

答案 0 :(得分:5)

您可以使用“attribute contains”选择器:

$("div[class*='Image__for__Decision']").click(function() {
    console.log("click!"); 
});

答案 1 :(得分:2)

詹姆斯打败了我,但我认为我更喜欢"starts-with"选择器。

var yourDivs = $("div[class^='Image__for__Decision']");

他的代码还展示了如何设置事件处理程序。

答案 2 :(得分:1)

var imageDivs = $('div[class*="Image_for_Decision"]');

Documentation