2012-05-04 3 views
0

JavaScript DOM을 통해 새로 만든 요소에 요소 ID를 적용하려면 어떻게해야합니까?JavaScript/DOM - 새로 생성 된 요소에 ID를 부여하십시오.

필자가 작성한 코드는 버튼으로 트리거되는 테이블을 생성합니다.

이 표에 고유 한 ID를 적용해야 내 사이트에 나타나는 것과 다르게 스타일을 지정할 수 있습니다.

var tab = document.createElement("ViewShoppingCart"); 
document.getElementById("shopping_list").appendChild(tab); 

var tbdy = document.createElement("tbody"); 
tab.id = "new_cart"; 
tab.appendChild(tbdy); 
new_cart = true; 

var total = 0; 

for (var a = 0; a <= nameArray.length-1; a++) { 

var tr = document.createElement("tr"); 
tbdy.appendChild(tr); 

var td = document.createElement("td"); 
    td.appendChild(document.createTextNode("x " + quantityArray[a])); 
    tr.appendChild(td); 

var td2 = document.createElement("td"); 
    td2.appendChild(document.createTextNode(nameArray[a])); 
    tr.appendChild(td2); 

var td3 = document.createElement("td"); 
    td3.appendChild(document.createTextNode(sumArray[a])); 
    tr.appendChild(td3); 

} 
+0

tab.id = "장바구니"+ (새 날짜) .getTime()'? –

답변

0

클래스 선택기를 사용하여, 당신은 전혀 ID를 필요로하지 않을 수 있습니다 고려 스타일을 적용

var tbdy = document.createElement("tbody"); 
tbdy.id = "newtbodyid"; 
tab.id = "new_cart"; 
tab.appendChild(tbdy); 
new_cart = true; 
+0

전체 테이블에 고유 한 ID가 필요합니다. –

+0

내 대답을 편집 했으므로 'tbdy'가 테이블이라고 가정하고 var를 정의한 후'tbdy.id = "newtbodyid"; –

+0

동적으로 생성 된'table'이 코드 스코프 밖에 있다면 위의 그림과 같이 id를 정의하거나'document.getElementById ('tableID')를 통해 시도해 볼 수 있습니다 setAttribute ('id', 'newid') ;'. 후자는 IE에서 잘 작동하지 않을 수도 있습니다. –

0

을 시도해보십시오 여기

내 코드의 샘플입니다.

유효한 HTML을 만들려면 CSS 스타일의 값, 특히 테이블 데이터의 값을 크게 줄이는 중복 된 ID를 사용할 수 없습니다.

관련 문제