我编写了一个可以工作的函数,但这很丑陋。我敢肯定有一个更好的方式做我想做的,它可能变成了非常难看,因为我不是在JavaScript真的很好:d是否有可能找回匹配jQuery中的部分选择器的值?
我有可能有一类叫做view-in-box
或view-in-box-640-480
一些HTML元素。如果该类只是view-in-box
,则会出现一个对话框,其中包含一些默认的宽度和高度,否则它将显示类名中指定的宽度和高度。
html元素类可以是这样的:class='note comment ui-button view-in-box-300-200 footer star'
。
我做了什么到现在为止是选择所有具有view-in-box
在它的元素:
$('body').delegate('[class*=view-in-box]','click', function(){
然后我把它整个类属性,我循环来检查我是否能找到一个view-in-box
或不。 这里是(简化)代码:
$('body').delegate('[class*=view-in-box]','click', function(){
...
var class_array = $(this).attr('class').split(" ");
for (var i = 0; i < class_array.length; i++) {
if (class_array[i].search('view-in-box-') != -1) {
box_text = class_array[i];
break;
}
}
if (box_text !== null) {
box_array = box_text.split('-');
....
}
....
return false;
});
所以我想知道,有没有办法找回我的直接作用是什么匹配view-in-box
谓词中?例如view-in-box
或view-in-box-233-455
。或者我真的必须获得完整的课程属性并将其分开。
希望我很清楚,JavaScript混淆了我! 谢谢。
可以使用jquery的hasClass方法 – Dau 2012-01-17 10:36:16
hasClass可以采取图案有“* “?!我仍然需要获得这些宽度和高度值。 – godbout 2012-01-17 10:38:34
'hasClass'并不适合。您必须知道类的名称,因为它不支持通配符,无论如何,它不会返回类名称,只是布尔值。问题是,为什么不通过CSS类本身应用宽度/高度? – 2012-01-17 10:42:56