在javascript中为表头分配id

时间:2010-12-13 11:18:01

标签: javascript

请告诉我如何使用javascript(构建html表后)为th和表class="tableHeader"分配表头(id="requestview_table")的ID。目前,表头没有任何id。

请告诉我如何为class tableHeader插入id(任意数字)。

2 个答案:

答案 0 :(得分:2)

$("#requestview_table").find("th.tableHeader").each(function(index) { $(this).attr('id','header' + index); });

答案 1 :(得分:1)

m0sa的答案更清晰(yeay!jQuery)但是如果你想要一个只有JavaScript的解决方案,那么这就是我的准备:

首先,您需要一种方法来根据类名获取项目(这是我从这里修改的内容:http://www.tek-tips.com/viewthread.cfm?qid=1143850&page=1)。

function getElementsByClassName(strClassName, obj) {

    var arrClassElements = [];
    if (obj) {
        if (obj['className'] && obj.className.indexOf(strClassName) != -1) {
            arrClassElements.push(obj);
        }

        for (var i = 0; i < obj.childNodes.length; i++) {
            arrClassElements = arrClassElements.concat(getElementsByClassName(strClassName, obj.childNodes[i]));
        }
    }

    return arrClassElements;
}

然后使用它来迭代它拾取的元素,使用setAttribute向元素添加ID。

var headers = getElementsByClassName('tableHeader', document.getElementById('requestview_table'));

for(var i=0;i<headers.length;i++){
    headers[i].setAttribute('id', 'header' + i) 
    alert(headers[i].id);
}

这是在这里工作:http://jsfiddle.net/jonathon/W6JyE/

同样,我建议您使用jQuery(如果可以)。对于您正在寻找的操作类型来说,它更好更清洁。这只是众多替代解决方案中的一种。