【问题标题】:getElementById innerHTML undefined [closed]getElementById innerHTML 未定义 [关闭]
【发布时间】:2015-10-14 19:07:34
【问题描述】:

当我在同一个<div class> 中有item1item2 时,item2 返回worlditem1 返回undefined

function Delivered(xCode, tNo) {
    document.getElementById("item1").innerHTML = "hello";
    document.getElementById("item2").innerHTML = "world";
}

但是,如果我只是删除<span id="item2"></span>item1 会再次报告hello

<div id="details"> 
    <div class="right" id="rightDIV">content...<span id="item1"></span>..inserted here</p>
    <p> more content...<span id="item2"></span>
    </div>
</div>

我尝试将item2 放入新的&lt;div class&gt;,但仍然不成功。我做错了什么?

编辑:我可以发布原始代码吗?抱歉,第一次发帖。

<div id="details"> 
    <div class="left" id="leftDIV">item: <b><span id="item3"></span></b>
    <p>via <b>airmail;</b></p>
    </div>
    <div class="right" id="rightDIV">Status: <b>active</b>
        <p>item with reference <span id="item1"></span> content here <span id="item2"></span></p>
        <p>Thank you&trade;</p>
    </div>
</div>

这是我的脚本:

#details { 
  height:200px; 
  width:600px; 
  font-family: Tahoma;
  color: #000; 
  margin: 0px;
  font-size: 12px; 
}
#details .left{ 
  width:33%; 
  height:200px; 
  padding: 15px; 
  background-color: #fff; 
  float: left;
  overflow:hidden;
  visibility: hidden;
}
#details .right{ 
  width:40%;
  height:200px; 
  padding: 15px; 
  background-color: #ccc; 
  float: left;
  overflow:hidden;
  visibility: hidden;
}

function Delivered(xCode, tCode) {
  document.getElementById("leftDIV").style.visibility = "visible";
  document.getElementById("rightDIV").style.visibility = "visible";
  document.getElementById("item3").innerHTML = tCode;
  document.getElementById("item1").innerHTML = tCode;
  document.getElementById("item2").innerHTML = xCode;
}

我不确定要粘贴多少代码,因为我不确定什么是相关的 :)

【问题讨论】:

  • 当您使用“id”属性来定位元素时,将元素放置在其他元素中没有任何区别。您的问题不清楚。
  • 此代码按原样工作正常:codepen.io/paulroub/pen/rOGmzB?editors=101
  • 我没有看到预期的结果,到目前为止一切都很好:jsfiddle.net/sw7j77yw
  • 你为什么要关闭一个你从未打开过的p标签?
  • 你需要调用该函数。

标签: javascript html innerhtml getelementbyid


【解决方案1】:

你写完js代码后忘记调用函数了。

function Delivered(xCode, tNo) {
    document.getElementById("item1").innerHTML = "hello";
    document.getElementById("item2").innerHTML = "world";
} 

Delivered();

在 html 中你关闭了 p 元素,但你从未打开过一个

 <div id="details"> 
   <div class="right" id="rightDIV">
    content...<span id="item1"> </span>..inserted here</p> -----> Here
    you opened but never closed <--------- <p>more content...<span id="item2"></span>
    </div>
</div>

在Js中这样操作

function delivered(xCode, tNo) {
    document.getElementById("item1").innerHTML = "hello";
    document.getElementById("item2").innerHTML = "world";
}

delivered();

像这样的html

<div id="details"> 
   <div class="right" id="rightDIV"><p>content...<span id="item1"></span>..inserted here</p>
       <p> more content...<span id="item2"></span></p>
   </div>
</div>

【讨论】:

  • 是的,该函数正在其他地方调用。项目 2 和 3 在函数 Delivered 被调用时返回值。但第 1 项不是。
  • jsfiddle.net/dr866fy6 看这里@user2870775
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-18
  • 2015-01-07
  • 1970-01-01
相关资源
最近更新 更多