我有一个重复的表,其中元素的名称将是(例如'tdName_1''tdName_2'),我想知道是否有可能getElementsByName('tdName_').
PS:我不能使用Jquery.
提前致谢.
塞萨尔.
这是不可能的.我假设这个答案的其余部分是你感兴趣的元素是<td>s.如果是这样,那么您应该知道该name属性对<td>元素无效.
您必须手动创建匹配元素列表.如果您决定name仍然使用该属性(而不是在属性中添加类class),则以下内容将起作用:
var table = document.getElementById("your_table_id");
var tds = table.getElementsByTagName("td");
var matchingTds = [];
for (var i = 0, len = tds.length, td, tdName; i < len; ++i) {
td = tds[i];
tdName = td.getAttribute("name");
if (tdName && tdName.indexOf("tdName_") == 0) {
matchingTds.push(td);
}
}
Run Code Online (Sandbox Code Playgroud)
使用 vanilla javascript,您可以使用 querySelectorAll 方法:
document.querySelectorAll('[name^=tdName]')
Run Code Online (Sandbox Code Playgroud)
这应该适用于所有现代浏览器,包括 IE9 或更高版本(尽管我还没有测试过)。
| 归档时间: |
|
| 查看次数: |
17809 次 |
| 最近记录: |