1

これでお手数をおかけして申し訳ありませんが、これは私を悩ませています:私は次の変数を持っています:

var one = 1;
var two = 2;
var tre = 3;

入力欄もあります

<input type='text' id='one' class='some'>

入力ボックスのIDに基づいて、上記の変数からの対応する値を含む変数が必要です。

var atr = $(".some").attr("id");
var nr = ??? 

nrvarを 1 に等しくしたい(上記の変数 のように)one

4

2 に答える 2

4

次の表記を使用します。

  $('selector[attr]')   // elements that has attribute attr
  $('selector[attr=value]')  // elements that has attribute attr with value `value`
  $('selector[attr^=value]') // elements that has attribute attr starting with value `value`
  $('selector[attr$=value]') // --~-- ending with `value`
  $('selector[attr!=value]') // not equal `value`
  $('selector[attr*=value]') // attribute contains `value`
  $('selector[attr|=value]') // attribute has prefix `value`
  $('selector[attr~=value]') // attribute contain word delimited by spaces

jquery 属性セレクターの完全なリストを参照してください

編集:あなたが尋ねている別のことがあるかもしれません:

特定の値のマップがあり、これを実行したい場合:

var map =  { one: 1, two : 2 , three: 3 } ,
    elem = $('.some'),
    attr = elem.attr('id'),
    nr = map[attr]  // === 1
于 2012-10-01T00:17:31.680 に答える
2

オブジェクト プロパティとの照合には、動的に生成された変数名のみを使用できます。

var ids = { one : 1, two : 2, tre : 3 };

var atr = $(".some").attr("id");

var nr = ids[atr]; // now contains 1
于 2012-10-01T00:21:51.800 に答える