首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >document.getElementById("#foo");返回null

document.getElementById("#foo");返回null
EN

Stack Overflow用户
提问于 2016-07-04 02:01:29
回答 3查看 718关注 0票数 1

我想创造一个媒体播放器。

我不知道为什么我对document.getElementById("#playlist-table");的调用在我的<table id="playlist-table"></table>中返回null。我试着在</body>标记之前运行脚本,以确保DOM已经准备好,但仍然没有成功。这是我的代码:

HTML(shortened)

代码语言:javascript
复制
  <!DOCTYPE html>
  <html lang="en"> 
    <head>
        <meta charset="utf-8"/>
        <title>JAMTRACKS</title>
        <script type="text/javascript" src="js.js"></script>
    </head>
    <body>
        <div id="media-player">
        <div id="playlist">
            <table id="playlist-table"></table>
        </div>
        </div>
    </body>
  </html>

JS(简称)

代码语言:javascript
复制
  function addTrack(title){
    var table = document.getElementById("#playlist-table");
    var tr = document.createElement("tr");
    var titleTd = document.createElement("td");
    var titleNode = document.createTextNode("title");

    table.appendChild(tr);    //ERROR IS HERE

    tr.appendChild(titleTd);
    titleTd.appendChild(titleNode);
    ...
  }
  addTrack(Song_Name);

Error:Uncaught :无法读取属性'appendChild‘的null

谢谢

EN

回答 3

Stack Overflow用户

发布于 2016-07-04 02:03:06

从选择器中移除散列标记#

var table = document.getElementById("playlist-table");

如果你想保留它,你应该使用querySelector()

代码语言:javascript
复制
document.querySelector('#playlist-table')
票数 3
EN

Stack Overflow用户

发布于 2016-07-04 02:03:43

查询id的正确方法:

document.getElementById('foo');

document.querySelectorAll('#foo');

返回第一个元素:

document.querySelector('#foo');

票数 2
EN

Stack Overflow用户

发布于 2016-07-04 02:04:53

^^

var table =document.getElementById(“播放列表-表”);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38176017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档