ari*_*rik 15 html javascript dom
我有一个表行,在其中,我有一个td(无论它代表什么).我想在不使用ID或名称的情况下更改我的TD所在的TR的class属性.像那样:
<tr>
<td onclick="[TR].setAttribute('class', 'newName')">My TD</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
Gab*_*oli 30
td 代表表格数据..
现在..在你的情况下你需要的parentNode属性td..
<tr>
<td onclick="this.parentNode.setAttribute('class', 'newName')">My TD</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
或者像他在评论中提到的那样
<td onclick="this.parentNode.className= 'newName'">My TD</td>
Run Code Online (Sandbox Code Playgroud)
Kei*_*eau 14
在jquery中,如果你有对td的引用,那将非常简单:
$(this).closest('tr');
Run Code Online (Sandbox Code Playgroud)
如果你真的不想依赖于jQuery,那么你可以做一个循环来获取parentNode并将它的类型检查为更通用的解决方案.在这种情况下,您可以获取parentNode,因为tr始终是td的直接父级.你可以做这样的事情(注意这没有经过测试):
var parent = myTd.parentNode;
while(true) {
if(parent == null) {
return;
}
if(parent.nodeName === "TR") {
return parent;
}
parent = parent.parentNode;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36003 次 |
| 最近记录: |