扫码关注官方订阅号
xh001 王小明 删除 xh002 刘小芳 删除
业精于勤,荒于嬉;行成于思,毁于随。
<tr>不能够单独使用,必须包含在<table>,<tbody>,<tfoot>里面。否则浏览就只会解析里面的内容。
<tr>
<table>,<tbody>,<tfoot>
下面是 mdn 的对<tr>的Tag omission描述:
Tag omission
The start tag is mandatory. The end tag may be omitted if the element is immediately followed by a element, or if the parent table group (, or ) element doesn't have any more content. 你看如果不把<tr>包含在<table>等标签内的话,浏览器解析会是这样: 代码: <body> <tr> <td>哈啊哈哈哈哈哈哈</td> </tr> <tr> <td>2333333333333333</td> </tr> <button type="button" onclick="showTrLength()">点击</button> </body> chrome开发者工具截图:
The start tag is mandatory. The end tag may be omitted if the
你看如果不把<tr>包含在<table>等标签内的话,浏览器解析会是这样:
<table>
代码:
<body> <tr> <td>哈啊哈哈哈哈哈哈</td> </tr> <tr> <td>2333333333333333</td> </tr> <button type="button" onclick="showTrLength()">点击</button> </body>
chrome开发者工具截图:
chrome
没发现有问题,返回的是2
你的<script>标签是放在body前面的吗???如果是,那么可能是因为你没有加document.onload.
我把你的代码拷贝下来,补了缺失的 <table> 标签,运行得很好啊
html<!DOCTYPE html> <html> <head> <title> new document </title> <script type="text/javascript"> // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 function changebg() { var table = document.getElementById('table'); var trlist = document.getElementsByTagName("tr"); document.write(trlist.length); //运行结果是0?这里运行结果为什么是0,明明有tr标签啊!求解 for (var i = 0; i < trlist.length; i++) { trlist[i].style.backgroundColor = "gray"; } } </script> </head> <body> <table id="table"> <tr onmouseover="changebg()" onmouseout="cancelbg()" id="t1"> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="addOne()" /> <!--在添加按钮上添加点击事件 --> </body> </html>
html
<!DOCTYPE html> <html> <head> <title> new document </title> <script type="text/javascript"> // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。 function changebg() { var table = document.getElementById('table'); var trlist = document.getElementsByTagName("tr"); document.write(trlist.length); //运行结果是0?这里运行结果为什么是0,明明有tr标签啊!求解 for (var i = 0; i < trlist.length; i++) { trlist[i].style.backgroundColor = "gray"; } } </script> </head> <body> <table id="table"> <tr onmouseover="changebg()" onmouseout="cancelbg()" id="t1"> <td>xh001</td> <td>王小明</td> <td><a href="javascript:;">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:;">删除</a></td> <!--在删除按钮上添加点击事件 --> </tr> </table> <input type="button" value="添加一行" onclick="addOne()" /> <!--在添加按钮上添加点击事件 --> </body> </html>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
<tr>不能够单独使用,必须包含在<table>,<tbody>,<tfoot>里面。否则浏览就只会解析里面的内容。下面是 mdn 的对
<tr>的Tag omission描述:没发现有问题,返回的是2
你的<script>标签是放在body前面的吗???如果是,那么可能是因为你没有加document.onload.
我把你的代码拷贝下来,补了缺失的
<table>标签,运行得很好啊