2010-12-13 32 views
1

テーブルヘッダー(th)のidをclass="tableHeader"に、テーブルid="requestview_table"をidに割り当てる方法をjavascript(htmlテーブルの作成後)で教えてください。現在、テーブルヘッダーにはIDはありません。 javascriptのテーブルヘッダーのIDを割り当てます

tableHeaderクラスでid(任意の数値)を挿入する方法を教えてください。

+0

「テーブルヘッダー」とは、セルを持つ「」とは何か、最初の行、最初の行の各セル...? –

答えて

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

次に、あなたはそれが要素にIDを追加するsetAttributeを使用して、拾った要素を反復処理するためにこれを使用しています。

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のを使用をお勧めします。それはあなたが探している操作の種類を行うための方がはるかに良く、よりクリーンです。これは多くの代替ソリューションの1つに過ぎません。

2
$("#requestview_table").find("th.tableHeader").each(function(index) { $(this).attr('id','header' + index); }); 
関連する問題