【问题标题】:How to set text of div to its Id in javascript如何在javascript中将div的文本设置为其ID
【发布时间】:2016-06-08 11:48:11
【问题描述】:

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

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

但是,这会在 div 标签中返回undefined,而不是写入它的 id。

【问题讨论】:

标签: javascript html dom getelementbyid getelementsbyclassname


【解决方案1】:

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

document.getElementsByClassName("divDesign")[0].innerHTML = 
    document.getElementsByClassName("divDesign")[0].id;
<div class="divDesign" id="iAmAnId"></div>

【讨论】:

    【解决方案2】:

    使用getAttribute()方法:


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

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

    对于 所有 个带有ClassName = 'divDesign' 的 div:

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

    使用id() 属性:


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

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

    对于 所有 个带有 ClassName = 'divDesign' 的 div:

    var mydivs = document.getElementsByClassName('divDesign');
    
    for (var index = 0; index < mydivs.length; index++) {
      mydivs[index].innerHTML = mydivs[index].id;
    }
    &lt;div class="divDesign" id="someId"&gt;&lt;/div&gt;

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

    文档:
    W3Schools
    MDN

    【讨论】:

      猜你喜欢
      • 2016-03-02
      • 2013-03-24
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 2023-02-10
      相关资源
      最近更新 更多