0

私は今ちょっと立ち往生しています。要素から特定のクラスを取得する必要があります。class属性は次のようになります。

<div class="span12 display">

また:

<div class="span24 overview overview-small">

したがって、スパン*は常に同じであり、数が異なる場合があります。

jQueryを使用して毎回スパン*を取得する方法が本当にわかりません。

編集: 私の目標は、要素のサイズを変更することです。たとえば、span12からspan18まで。サイズをspan10からspan18に、またはspan8からspan18に変更する必要がある可能性があります。そのため、私は一般的なソリューションを好みます。

したがって、その数はかなりランダムです。また、以前のサイズ(スパン)を変更できるはずなので、span18に変更する前にスパン番号を知っておくことが非常に重要です。

申し訳ありませんが、これについて言及するのを忘れました。:|

4

3 に答える 3

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));
于 2013-01-11T22:38:58.570 に答える
1

あなたが番号を持っているなら、それはそれほど難しいことではないはずです。

var spanNumber = 15;
var spanSelector = ".span"+spanNumber;
var spanClassName = $(spanSelector)[0].className;

番号がわからない場合は、部分的に一致するものを探して、そのグループで何かを行うことができます

var spans = $('div[class*=span]');

おそらくそれらを繰り返します:

デモ: http: //jsfiddle.net/hFx26/

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
});
于 2013-01-11T22:27:51.660 に答える
0

allspansspan *値を持つ各要素に同様の別のクラスを追加し、それをセレクターとして使用することができます。

于 2013-01-11T22:29:36.103 に答える