如何在不使用id的情况下在javascript中选择我的第二个单选按钮?

时间:2015-11-03 16:48:41

标签: javascript input selector radio

嘿,我正在做一些事情,但可以而且不想改变HTML。无法添加ID按钮。我想选择第二个无线电输入。

这是html:

  <fieldset>
        <legend>I want to sign up:</legend>
        <label>
            <input type="radio" name="submit-for" value="project">
            <span>For project</span>
        </label>
        <label>
           <input type="radio" name="submit-for" value="stage">
           <span>As intern</span>
       </label>
  </fieldset>

这是我尝试在javascript中选择它的方式,但它没有用:

   document.querySelector('input[type="radio"]:nth-of-type(2)').onclick = function () {
       document.getElementById("project").style.display = 'none';
       document.getElementById("stage").style.display = 'block';
   };

   document.querySelector('input[type="radio"]:nth-child(2)').onclick = function () {
       document.getElementById("project").style.display = 'none';
       document.getElementById("stage").style.display = 'block';
   };

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:4)

你真的想选择第二个&#34;单选按钮,或者您是否要选择&#34;带有值的单选按钮&#39;&#39;&#34;?第二种选择听起来更具扩展性。

document.querySelector('input[type="radio"][value="stage"]')

编辑:此外,对于不使用身份证使用情况而言,提出了您的问题。无论你是否被迫加入,都是好的做法。

答案 1 :(得分:1)

document.querySelectorAll('fieldset input[type="radio"]')[1]=function () {
  document.getElementById("project").style.display = 'none';
         document.getElementById("stage").style.display = 'block';
    };

答案 2 :(得分:0)

您可以使用document.getElementsByName("submit-for")[1]; 并选择第二个集:

@media only screen and (max-width: 32em) {
  .no-js .show_menu_btn {
      display: none;
  }
  .no-js #nav ul {
      display: block;
  }
  .js .show_menu_btn {
      display: block;
  }
  .js #nav ul {
    display: none;
  }
} /* this right here, take it out */ 
... /* more code here */
} /* closing bracket */

答案 3 :(得分:0)

用户@somethinghere已关闭,OP选择了一个不适用于问题标题的答案,因此对于那些 寻找问题标题答案的人来说,你去了:

var r = document.querySelectorAll('input[type="radio"]');
if (r.item.length > 0) {console.log(r.item(1));