person
(匿名) #f32ca33b
2021-10-29に投稿

querySelectorAllで、部分一致を含んだ形で要素の取得を試みているのですが、変数を渡すとうまくいきません。

例えば、
const elements = document.body.querySelectorAll("input[name^='Q1-']");
console.log(elements.length)

のように文字列を渡すと、正しく30 (個) と数えてくれます。

が、
const q_name = "Q" + this.num + '-'
console.log(q_name) // 確認用
const elements = document.body.querySelectorAll("input[name^=q_name]");
console.log(elements.length)

と変数を渡すと 0 (個) と表示されてしまいます。

なぜなのでしょうか?
解決法がありましたら教えていただきたいです。

よろしくお願いいたします。

コメント