如何在javascript中将div的文本设置为其Id

时间:2016-02-25 15:39:34

标签: javascript html dom getelementbyid getelementsbyclassname

我想要实现的是将div标签的文本设置为名称,如果它的ID来自javascript。我试过这个;

 mydiv.getElementsByClassName("divDesign").innerHTML = document.getElementsByClassName("divDesign").getElementById; 

但是,这会在div标记中返回undefined,而不是写入其ID。

2 个答案:

答案 0 :(得分:0)

哟需要指定元素的索引,因为document.getElementsByClassName("divDesign")返回节点列表。



document.getElementsByClassName("divDesign")[0].innerHTML = 
    document.getElementsByClassName("divDesign")[0].id;

<div class="divDesign" id="iAmAnId"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用getAttribute()方法:

对于带有ClassName = 'divDesign'第一个 div:

document.getElementsByClassName('divDesign')[0].innerHTML = document.getElementsByClassName('divDesign')[0].getAttribute('id');

对于所有 div ClassName = 'divDesign'

var mydivs = document.getElementsByClassName('divDesign');

for (var index = 0; index < mydivs.length; index++) {
  mydivs[index].innerHTML = mydivs[index].getAttribute('id');
}
<div class="divDesign" id="someId"></div>

使用id()属性:

对于带有ClassName = 'divDesign'第一个 div:

document.getElementsByClassName('divDesign')[0].innerHTML = document.getElementsByClassName('divDesign')[0].id;

对于所有 div ClassName = 'divDesign'

var mydivs = document.getElementsByClassName('divDesign');

for (var index = 0; index < mydivs.length; index++) {
  mydivs[index].innerHTML = mydivs[index].id;
}
<div class="divDesign" id="someId"></div>

或使用jQuery attr()方法...

文档:
W3Schools
MDN