javascript - 无法识别DIV id?

标签 javascript html

这是我项目的一小段代码。好吧,这里只是我正在获取表的第一行元素的 id,但是获取 div 的 id 和选择标签时出现错误?有人可以帮助我吗?

<html>
  <head>
    <script>
        function add(tableID) {        
            var table = document.getElementById(tableID);         
            var colCount = table.rows[0].cells.length;

            alert("cell length "+colCount);

            for(var i=0; i<colCount; i++) {
                alert(table.rows[0].cells[i].childNodes[0].id);
            }               
        }
    </script>
  </head>
  <body>
    <table border="1" id="dataTable" >
      <tr>
        <td><INPUT type="checkbox" id="cb" name="chk[]" disabled="true"/></td>
        <td><input type="text" id="txt" name="t" size="3" maxlength="3" readonly="true" value="1"></td>
        <td>
          <select  id='slct'>
            <option value='-1' selected>- - - - - Select - - - - -</option>
            <option value="0">xyz</option>
          </select>
        </td>
        <td>                
          <div id="div">qwerty</div>
        </td>
      </tr>
    </table>

    <br>

    <button onclick="add('dataTable')">show</button>
  </body>
</html>

最佳答案

标签之间的任何字符,甚至空格,都是 HTML 文本节点(一行中的多个非标签字符全部组合成一个节点)。这意味着第三个和第四个 TD 的第一个(也是最后一个)子节点都是文本节点(只有空格)。

table.rows[0].cells[0].childNodes.length === 1
table.rows[0].cells[1].childNodes.length === 1
table.rows[0].cells[2].childNodes.length === 3
table.rows[0].cells[3].childNodes.length === 3

如果您将 HTML 修改为这样...

<td><select  id='slct'>
    <option value='-1' selected>- - - - - Select - - - - -</option>
    <option value="0">xyz</option>
 </select></td>
 <td><div id="div">qwerty</div></td>

您将从 JavaScript 中获得预期的行为。

关于javascript - 无法识别DIV id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842977/

相关文章:

javascript - jQuery Datatable 在 jQuery 单击事件上访问行数据(渲染参数)

javascript - 位置为 :absolute 的屏幕的 CSS 百分比

javascript - firefox 窗口 innerheight 在缩放时不更新

css - 具有剪辑路径的响应式图像 - HTML

html - CSS 正则表达式 id 选择器与类选择器的性能

javascript - 如何在 iPad safari 中显示键盘时禁用屏幕偏移

javascript - 更改数组字符串的值

javascript - 使用 react 路由器更改应用程序状态的问题

javascript - Redux Store 不会使用 firebase 实时数据库上创建的数据更新状态

javascript - 我应该将数据存储在 Javascript 对象中,还是只使用屏幕上的表格?