JavaScript DOM:向a添加属性

时间:2010-09-06 07:08:08

标签: javascript dom

我想创建一个JavaScript函数来解析我的HTML页面,通过它的ID获取Table,然后,为每个<tr>添加一个类属性,就好像该行是第一个,我将添加: class =“line1”到<tr> 但如果该行是第二行,我会将class =“line2”添加到<tr> 请怎么做

5 个答案:

答案 0 :(得分:6)

如果我理解正确,你想要改变类名来获得某种斑马风格吗?

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);
}

请参阅HTML DOM Table Object

答案 1 :(得分:0)

在jquery中很容易......如下所示: -

$(document).ready(function() {
    //for table row
    $("tr:even").addClass("AlternateBG1");
    $("tr:odd").addClass("AlternateBG2");
})

但是在JQUERY ......

答案 2 :(得分:0)

没有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;
    }
}

答案 3 :(得分:0)

var table = document.getElementById("yourTableId");
for(var i in table.rows){
  table.rows[i].className = 'line'+(i+1).toString();
}

答案 4 :(得分:-1)

使用jQuery非常简单,可以执行以下操作:

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

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