1

I'm trying to select all the elements who's name value contains the string "visitors" using Javascript. I cannot add a class in this case.

<select name="visitors10">
   <option class="disableDuration4" value="5">5</option>
   <option class="disableDuration5" value="6">6</option>
   <option class="disableDuration6" value="7">7</option>
</select>
<select name="visitors11">
   <option class="disableDuration4" value="5">5</option>
   <option class="disableDuration5" value="6">6</option>
   <option class="disableDuration6" value="7">7</option>
</select>
<select name="visitors12">
   <option class="disableDuration4" value="5">5</option>
   <option class="disableDuration5" value="6">6</option>
   <option class="disableDuration6" value="7">7</option>
</select>
Daemon
  • 15
  • 3
  • Duplicate: (https://stackoverflow.com/questions/15874630/get-element-by-part-of-name-or-id) – Ryan Wilson Dec 28 '18 at 18:02
  • 1
    Possible duplicate of [Get element by part of Name or ID](https://stackoverflow.com/questions/15874630/get-element-by-part-of-name-or-id) – zfrisch Dec 28 '18 at 18:07

2 Answers2

1

You can do it like this using querySelectorAll

let ele = document.querySelectorAll('select[name^=visitors]')

console.log(ele)
<select name="visitors10">
   <option class="disableDuration4" value="5">5</option>
   <option class="disableDuration5" value="6">6</option>
   <option class="disableDuration6" value="7">7</option>
</select>
<select name="visitors11">
   <option class="disableDuration4" value="5">5</option>
   <option class="disableDuration5" value="6">6</option>
   <option class="disableDuration6" value="7">7</option>
</select>
<select name="visitors12">
   <option class="disableDuration4" value="5">5</option>
   <option class="disableDuration5" value="6">6</option>
   <option class="disableDuration6" value="7">7</option>
</select>
<select name="xyz"></select>
<select name="visitorsxyz"></select>
Code Maniac
  • 37,143
  • 5
  • 39
  • 60
0

Try this

document.querySelectorAll("select[name^=visitors]")