JavaScript DOM:将属性添加到<;tr>;

JavaScript DOM:将属性添加到<;tr>;,javascript,dom,Javascript,Dom,我想创建一个JavaScript函数来解析我的HTML页面,通过它的ID获取表格,然后在每个中添加一个class属性,就像这行是第一行一样,我将添加: class=“line1”到 但是如果这一行是第二行,我会将class=“line2”添加到 如何做请这在jquery中很容易。。。详情如下:- 但是在JQUERY中…使用JQUERY非常简单,请执行以下操作: var i = 1; $("#myTable tr").each(function() { $(this).addClass("

我想创建一个JavaScript函数来解析我的HTML页面,通过它的ID获取表格,然后在每个
中添加一个class属性,就像这行是第一行一样,我将添加: class=“line1”到
但是如果这一行是第二行,我会将class=“line2”添加到

如何做请

这在jquery中很容易。。。详情如下:-


但是在JQUERY中…

使用JQUERY非常简单,请执行以下操作:

var i = 1;
$("#myTable tr").each(function() {
    $(this).addClass("line"+i);
    i++;
});

其中#myTable是您的表id,每个函数中的$(this)将是循环中的当前元素。

如果我正确理解您的意思,您想交替使用类名以获得某种zebra样式吗

var table = document.getElementById('yourTableId');
var rows = table.rows;
for(var i = 0, l = rows.length;i < l; i++) {
    rows[i].className = 'class' + ((i%2) + 1);
}
var table=document.getElementById('yourTableId');
var rows=table.rows;
for(var i=0,l=rows.length;i

请参阅。

没有jQuery很容易:

oTBody=document.getElementById("tBodyId");
//for (key in oTbody.childNodes) {
for (var nPos=0, nLength = oTbody.childNodes.length; nPos<nLegth; nPos++)}
    oRow = oTbody.childNodes[nPos];
    if (oRow && oRow.tagName && oRow.tagName.toLowerCase() == "tr") {
        oRow.className = (bNormalRow? sClass1:sClass2);
        bNormalRow = !bNormalRow;
    }
}
oTBody=document.getElementById(“tBodyId”);
//for(输入oTbody.childNodes){

对于(var nPos=0,nLength=oTbody.childNodes.length;nPosHave您听说过jQuery吗?预计在接下来的二十分钟内会出现10次。不要让他包含n个用于此目的的jQuery。@jcolebrand 10年后阅读此评论是一件多么愉快的事,现在,您将听到Angular/React/vue lolIt仅使用javascript是一项义务,不必使用api我投票否决了你的答案,因为“用jQuery就可以了”每个人似乎都坚持的态度。显然没有什么私人的东西,但坦率地说,现在有点烦人,而且在像这样的简单场景中它是如此的不必要。此外,这甚至没有利用这样一个事实,即每个
tr
的索引都作为第一个参数传递给
每个
回调。这不需要意思是这是错误的。函数.each()本身已经是JavaScript中可以执行的最慢的操作了。如果我们这样做,我就不应该使用。each()函数…太好了,,,gud job..真正的程序员不要对类似数组的结构(例如节点列表)使用
for(I in foo)
循环。它很慢(非常慢)并且可能导致非相关项被循环(如果
NodeList
的原型链中的任何原型已被操纵)。不要将
for(i in foo)
循环用于类似数组的结构(例如NodeLists)。这很慢(非常慢),并且可能导致非相关项被循环(如果
NodeList
的原型链中有任何原型被操作过)。没有要求jQuery解决方案。
oTBody=document.getElementById("tBodyId");
//for (key in oTbody.childNodes) {
for (var nPos=0, nLength = oTbody.childNodes.length; nPos<nLegth; nPos++)}
    oRow = oTbody.childNodes[nPos];
    if (oRow && oRow.tagName && oRow.tagName.toLowerCase() == "tr") {
        oRow.className = (bNormalRow? sClass1:sClass2);
        bNormalRow = !bNormalRow;
    }
}
var table = document.getElementById("yourTableId");
for(var i in table.rows){
  table.rows[i].className = 'line'+(i+1).toString();
}