在这种情况下如何调用输入?

时间:2020-04-09 14:23:13

标签: javascript input getelementsbytagname getelementsbyclassname

在这种情况下,我想给每个输入一个类,但是我不知道该怎么做。

JS:

  document.getElementsByClassName("parent")[0].addEventListener("click",function(){ document.getElementsByClassName("maco")[0].innerHTML="<form><wrap>Name: <input></wrap><wrap>Date Range from <input> to <input></wrap><wrap>Reason:<input></wrap><wrap>Name of Parent:<input></wrap><wrap><button>Enter<button></wrap></form>";
     document.getElementsByClassName("parent")[0].getElementsByTagName("form")[0].classList.add("pl");
     document.getElementsByClassName("parent")[0].getElementsByTagName("form")[0].getElementsByTagName("input")[0].classList.add("first");
     document.getElementsByClassName("parent")[0].getElementsByTagName("form")[0].getElementsByTagName("input")[1].classList.add("second");
     document.getElementsByClassName("parent")[0].getElementsByTagName("form")[0].getElementsByTagName("input")[2].classList.add("third");
     document.getElementsByClassName("parent")[0].getElementsByTagName("form")[0].getElementsByTagName("input")[3].classList.add("fourth");
     document.getElementsByClassName("parent")[0].getElementsByTagName("form")[0].getElementsByTagName("input")[4].classList.add("fifth"); });

我做了以上操作,但浏览器一直在说未捕获的TypeError:无法读取未定义的属性'getElementsByTagName'

是否可以在innerHTML =“ ...”中为报价中的每个输入提供一个类?

1 个答案:

答案 0 :(得分:1)

由于您没有发布HTML结构,因此很难确定它是否可以正常工作,但是确保您的树是这样的:

<div class="parent">
   <form>
      <input>
      <input>
      <input>
   </form>
</div>

这就是我要怎么做。

const numericalWords = [
  "first",
  "second",
  "third"
]


document.querySelectorAll('.parent form input').forEach((input, i) => {
  input.classList.add(numericalWords[i])
 })
.first {
    background: yellow;
 }
 
 .second {
    background: blue;
 }
 
.third {
    background: green;
 }
<div class="parent">
<form>
  <input>
  <input>
  <input>
</form>
</div>