首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TableRow单元集合集属性

TableRow单元集合集属性
EN

Stack Overflow用户
提问于 2017-10-30 14:15:49
回答 2查看 381关注 0票数 0

我以table.rows.length的形式循环遍历一个表,在其中循环一个rows.cells.length,当某个单元格满足特定的条件时,我想将该单元格的一个属性设置为该单元格的html。

我知道你可以改变innerHTMl

代码语言:javascript
复制
var x = document.getElementById("myTable").rows[0].cells;
x[0].innerHTML = "NEW CONTENT";

所以我想这场战争就像

代码语言:javascript
复制
x[0].attr = ('name', 'value');

但没有这样的运气。

谁能帮我指出正确的方向吗?

如果有任何资源,您可以推荐给一个完整的列表,所有的选项,您可以添加到一个单元格,这将是伟大的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-30 14:22:53

因为您是直接使用HTML节点操作的,所以您处理的是HTMLElement对象,而这些对象又是从通用元素继承来的。

从文档中可以看到--您可以通过Element.attributes映射访问属性,每个属性都是具有namevalue属性的Attr对象。

所以正确的方法是使用:

代码语言:javascript
复制
x[0].setAttribute('name', 'value');
票数 1
EN

Stack Overflow用户

发布于 2017-10-30 14:28:44

使用jQuery和es6语法时,可以使用map函数:

代码语言:javascript
复制
var xtr = $('#mytable tr');
xtr.map(itr => {
    xtd = $(itr).children('td');
    xtd.map(itd => {
        $(itd).attr('key', 'value');
    });
});

如果这让您感到困惑,您可以用旧的方式使用for循环:

代码语言:javascript
复制
var xtr = $('#mytable tr');
for(i in xtr){
    xtd = $(xtr[i]).children('td');
    for(j in xtd){
        $(xtd[j]).attr('key', 'value');
    }
}

在使用jQuery时,要做的是:

代码语言:javascript
复制
$('element').attr('key', 'value');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47017475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档