我现在有点卡住了。我需要从元素中获取某个类。 class属性可能如下所示:
<div class="span12 display">
或:
<div class="span24 overview overview-small">
所以 span * 总是相同的,只是数字可以不同。
我真的不知道每次使用jQuery如何获得 span * 。
修改: 我的目标是改变元素的大小。例如从span12到span18。我可能需要将大小从span10更改为span18或从span8更改为span18。这就是我更喜欢通用解决方案的原因。
所以这个数字是随机的。在将其更改为span18之前知道跨度数非常重要,因为应该可以更改先前的大小(跨度)。
抱歉,我忘记提及此事了。 :|
答案 0 :(得分:2)
简单的字符串解析可以为您提供:http://jsfiddle.net/7sXFb/
$("div[class*=span]").each(function(){
var cls = this.className,
prt = cls.split(" "),
spn = 0;
for (var i = 0; i < prt.length; i++){
if (prt[i].indexOf("span") > -1)
spn = +prt[i].replace("span","");
}
console.log(spn);
});
您可以像这样添加10:
this.className = this.className.replace("span" + spn, "span" + (spn+10));
或者,像这样:
$(this).removeClass("span" + spn).addClass("span" + (spn+10));
答案 1 :(得分:1)
如果你有这个号码,那就不应该那么难了。
var spanNumber = 15;
var spanSelector = ".span"+spanNumber;
var spanClassName = $(spanSelector)[0].className;
如果您没有该号码,那么您可以查找部分匹配,然后对该组执行某些操作
var spans = $('div[class*=span]');
也许迭代它们:
spans.each(function(index,element){
var spanClass = element.className;
var tar = spanClass.indexOf("span");
var number = "";
for( var i = (tar + 4); i < spanClass.length; i++ ){
if( spanClass[i] == " " ) break;
number += spanClass[i].toString();
}
number = parseInt(number);
//call some function with number, element, or replace the className
});
答案 2 :(得分:0)
您可以简单地将另一个类allspans
添加到具有span *值的每个元素中,并将其用作选择器。