名前が特定の文字列で始まるすべての要素を取得するにはどうすればよいでしょうか? 質問する

名前が特定の文字列で始まるすべての要素を取得するにはどうすればよいでしょうか? 質問する

HTML ページがあります。名前が「q1_」で始まるすべての要素を抽出したいと思います。

これを JavaScript で実現するにはどうすればいいでしょうか?

ベストアンサー1

簡単で手軽な方法はjQueryそして次のようにします:

var $eles = $(":input[name^='q1_']").css("color","yellow");

これにより、名前属性は 'q1_' で始まります。結果として得られる jQuery オブジェクトのコレクションを DOM コレクションに変換するには、次のようにします。

var DOMeles = $eles.get();

見るhttp://api.jquery.com/attribute-starts-with-selector/

純粋な DOM では、 を使用してgetElementsByTagNameすべての入力要素を取得し、結果の配列をループすることができます。'q1_ name' で始まる要素は別の配列にプッシュされます。

var eles = [];
var inputs = document.getElementsByTagName("input");
for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].name.indexOf('q1_') == 0) {
        eles.push(inputs[i]);
    }
}

おすすめ記事