0
として正規表現:JS querySelectorAllと私のようなものを書きたいセレクタ
var N = document.querySelectorAll("input[id^='left"+/^[0-9]*$/+"right']").length;
私はJS/jQueryので行うにはどうすればよいですか?
として正規表現:JS querySelectorAllと私のようなものを書きたいセレクタ
var N = document.querySelectorAll("input[id^='left"+/^[0-9]*$/+"right']").length;
私はJS/jQueryので行うにはどうすればよいですか?
できません。属性セレクタは正規表現をサポートしていません。あなたはしかし、接頭辞と接尾辞に基づいて選択することができます。
[id^="left"][id$="right"]
あなたはleft
とright
間の桁が欠落IDを持つ要素を除外したい場合は、あなたがそれらをフィルタリングする必要があります:
Array.from(queryResults).filter(elt => /^left\d*right$/.test(elt.id));
しかし、一般的に、複雑な内部構造を持つIDを使用することは、しばしば最良の方法ではありません。あなたはそれらを構築し、離れて拾う必要があります。クラスやデータ属性の使用を検討するか、要素を自分で作成する場合は要素を覚えて直接参照することができます。
queryResults.filter(elt => elt.id.test(/^left \ d * right $ /)); return _error .. .filterは関数ではありません_(申し訳ありませんが、私は何か基本的なものがありません)。 – mario
'Array.from(queryResults).filter'、または古い環境' Array.prototype.filter.call(queryResults、filterfunc) 'で試してみてください。 –
いいえ、私は行かなければなりません、明日はよくチェックする必要があります。ありがとう。 – mario