[前端]IE不支持table中tr的name属性,使得document.getElementsByName不能获取到对应的tr元素...

问题描述:希望实现toggle效果(也称数据钻取),点击一下链接列表链接,展开此链接下的其他链接列表,再点击一下链接列表隐藏。实现办法有多种:一种是用jquery效果更丰富一些。另一种是直接CSS+Js。我用的是后一种方法。
<html> 
<head> 
<script type="text/javascript"> 

function getElements()
  {
  var x=document.getElementsByName("myInput");
  alert(x.length);
  }
</script>
</head>

<body>
<table>
<tr name="myInput"><td></td></tr>
<tr name="myInput"><td></td></tr>

<tr name="myInput"><td></td></tr>
<tr name="myInput"><td></td></tr>

</table>
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" οnclick="getElements()" value="名为 'myInput' 的元素有多少个?" />
</body>

</html>

相似问题:http://stackoverflow.com/questions/2861341/cant-toggle-display-of-table-rows-in-ie-with-getelementsbyname

结论:

IE不支持table中tr的name属性,使得document.getElementsByName不能获取到对应的tr元素,仅可以使用document.getElementById获取。

解决办法:

1. 因此如果想获取一系列相同名称的tr只可以通过命名方式,使用document.getElementById遍历需要访问的元素。

2. 直接不用table,全部改用div或者ul展示链接列表。

转载于:https://www.cnblogs.com/wanping/archive/2012/12/12/2815113.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的要求。以下是一个简单的示例代码: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Show All Products</title> </head> <body> <h1>Show All Products</h1> <form action="processSelectedProducts.jsp" method="post"> <table> <thead> <tr> <th><input type="checkbox" id="selectAll"></th> <th>ID</th> <th>Name</th> <th>Price</th> </tr> </thead> <tbody> <% // 这假设你已经从数据库获取了所有商品信息的List,存储在products变量 List<Product> products = getProductListFromDatabase(); for (Product product : products) { %> <tr> <td><input type="checkbox" name="selectedProducts" value="<%=product.getId()%>"></td> <td><%=product.getId()%></td> <td><%=product.getName()%></td> <td><%=product.getPrice()%></td> </tr> <% } %> </tbody> </table> <br> <input type="submit" value="Process Selected Products"> </form> <script> // 全选/全不选 document.getElementById("selectAll").addEventListener("change", function() { var checkboxes = document.getElementsByName("selectedProducts"); for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = this.checked; } }); </script> </body> </html> ``` 该页面包括一个表格,用于展示所有商品信息,并且在每行前面都有一个checkbox,用户可以选择需要操作的商品。而最前面的表头也有一个checkbox,用于全选/全不选。当用户点击提交按钮时,表单会提交到 `processSelectedProducts.jsp` 页面进行处理。在这个示例代码,我使用了一些JSP的语法,可以在Java嵌入HTML和JavaScript代码,以便动态生成网页内容。当然,你需要根据你的具体需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值