-2

特定の値を持つ属性を持つ HTML Dom 内のすべての要素を取得したいと考えています。

例えば ​​-

<ul style="width:150px;" id="RadioButton1">
   <li style="width:150px;"><input type="radio" name="RadioButton1"><label>Option 1</label></li>
   <li style="width:150px;"><input type="radio" name="RadioButton1"><label>Option 2</label></li>    
   <li style="width:150px;"><input type="radio" name="RadioButton1"><label>Option 3</label> </li>
</ul>

任意の属性に「RadioButton1」を含むすべての要素を取得したい。UL3つすべてを選択したいという意味ですRadioButtons

注: 上記の HTML ではUL-LI構造を使用しましたが、実際のシナリオは大きく異なります。したがって、完全に賛成して答えないでくださいUL-LI。グローバルなソリューションが欲しい。

すべてのタイプの属性を選択するセレクターはありますか?

このアプローチで要素を選択することは可能ですか?

よろしくお願いします...!!!

4

6 に答える 6

2

各要素をフィルタリングし、その属性を確認することで実行できます。

フィドル

var elements = $('*').filter(function () {
    return $(this.attributes).filter(function(){
        return this.nodeValue == 'RadioButton1'; 
    }).length;
});
于 2014-04-22T10:45:58.317 に答える
1

これを試して:

$("*").each(function() { //check all elements inside DOM
    var elem = $(this);
  $.each(this.attributes, function() {
      if(this.value=='RadioButton1'){
          console.log(elem); //your code goes here. elem is nothing but element 
                               //with value RadioButton1 in any attribute
      }
  });
});

注:要素のコンソールを確認してください。

デモ

于 2014-04-22T10:52:12.990 に答える
0

attributes プロパティには、それらすべてが含まれています。

$(this).each(function() {
  $.each(this.attributes, function() {
    // this.attributes is not a plain object, but an array
    // of attribute nodes, which contain both the name and value
    if(this.specified) {
      if(this.value == 'RadioButton1')
      {
           alert(this.name);
      }
    }
  });
});
于 2014-04-22T10:51:20.163 に答える
-1
$("input[name='RadioButton1'],ul[id='RadioButton1']")
于 2014-04-22T10:36:15.600 に答える
-2

$('[name="RadioButton1"]')属性として「RadioButton1」を持つすべてのアイテムを選択しnameます。

$('[id="RadioButton1"]')属性として「RadioButton1」を持つすべてのアイテムを選択しidます。ID 属性の場合、特定の ID を持つ項目は 1 つだけであることに注意してください。

$('[name="RadioButton1"],[id="RadioButton1"]')組み合わせたリストが表示されます。

ID 属性と Name 属性の両方が "RadioButton1" に設定されているアイテムは 2 回追加されることに注意してください。

検索する 3 番目の属性がある場合は、その属性をセレクターのコンマ区切りリストに追加するだけです。

于 2014-04-22T10:34:43.150 に答える
-2

これを達成するには、 data-types="RadioButton" で遊ぶ必要があります

そして、使用して

$('input[data-types=RadioButton]')
于 2014-04-22T10:34:57.903 に答える