如何在代码中定义动态getElementById?

时间:2017-04-29 23:23:23

标签: javascript

我们可以使用此代码获取id:

document.getElementById("exampleid").value = 1;

,例如页面代码是

<input id="exampleid" value="" />

但我们不能使用高代码一次,因为id不同。

<input id="exampleid2" value="" />

我们应该将代码更改为

document.getElementById("exampleid2").value = 1;

现在我们如何定义动态ID?喜欢:

document.getElementById('/^exampleid/').value = 1;

请注意,每次html ID更改时,我们都不想更改代码。

4 个答案:

答案 0 :(得分:0)

var eles = document.querySelectorAll("[id^=exampleid]");

for(var i = 0; i < eles.length; i++) {
    eles[i].value = 1;
}

答案 1 :(得分:0)

&#13;
&#13;
function replaceIdValue(idRegex, value) {
  document.querySelectorAll(`[id^=${idRegex}]`).forEach(element =>
    element.value = value
  )
}

replaceIdValue('exampleid', 1)
&#13;
<input id="exampleid1" value="" />
<input id="exampleid2" value="" />
&#13;
&#13;
&#13;

答案 2 :(得分:0)

如果需要选择多个对象,通常需要向其添加class

<input type="text" id="exampleid1" class="exampleid" value="" />
<input type="text" id="exampleid2" class="exampleid" value="" />
<input type="text" id="exampleid3" class="exampleid" value="" />

然后你可以按照他们的共同类选择所有这些:

var elements = document.getElementsByClassName('exampleid');
for ( var index in elements ) {
    var elem = elements[index];
    elem.value = 1;
}

答案 3 :(得分:0)

Var arofele;
for(var i=0;i<n;i++;)
{
var t="ele"+i;
arofele[i]=document.getElementById(t);
} 

这可能有用,但我必须传递n值,并且使用getElementsByclass是有效的方法,如果确实你需要使用元素id你可以随身携带