document.getElementById("myId").InnerHTML can'

document.getElementById("myId").InnerHTML can't find <div id="myId">

本文关键字:quot InnerHTML can myId getElementById document      更新时间:2023-09-26

我在使用某些JavaScript代码时遇到了这个问题。 我在下面的错误中简化了它,因为我能够通过调试查明问题。

.HTML:

<select id="city_list_select" name="city">
    <div id="clist">
        <option>Select a Region First</option>
    </div>
</select>

JavaScript:

document.getElementById("clist").innerHTML = "<option>Test</option>";

我收到返回此错误:类型错误:无法设置空的属性"innerHTML"。所以似乎 JavaScript 在那里找不到那个div。 我能够通过删除div 并将 JS 更改为 getElementById("city_list_select")来解决此问题,但我仍然想弄清楚为什么div 不起作用,以防我将来遇到类似的问题。

嗯...我不认为您可以在 SELECT 标签中有一个 DIV 标签。 尝试使用 OPTION 标签,或者如您所发现的那样,使用 SELECT 标签的 innerHTML 替换所有 OPTION 标签。

<select id="city_list_select" name="city">            
  <option id="option1">Select a Region First</option>     
</select>

并且不要忘记,您还可以使用 appendChild 等方法将新元素附加到现有元素。