2011-06-28 75 views
0

我有這樣的事情:如何使用javascript生成的html獲取標籤的ID?

td = '<td id = "someId"> Text <input type = "text" name = "someName" value = "someValue" onchange="textChange(' + "someId" + ')"></td>'; 

var tag = document.createElement("tr"); 
tag.innerHTML = td; 
document.getElementById("mainTable").appendChild(tag); 

但部分:

"textChange(' + "someId" + ')" 

是錯誤的,因爲如果我想引用這樣的:

document.getElementById("someId").name 

這是不確定的。

我應該怎麼做?

回答

2

這是因爲您的td'someId'沒有屬性名稱。 這是從你的input text

+0

哦,我的壞。我認爲這是因爲這是javascript動態生成的html,並且在'Ctrl U'上不可見。 – proggix

2

很難給你實際的代碼,因爲你沒有給我們實際的代碼,但你可能尋找類似onchange="textChange(this.parentNode.getAttribute('id'))"

話雖這麼說,這不是處理DOM操作的最佳方式。你有沒有考慮過尋找一個JavaScript框架,如jQuery?這些框架使這類繁瑣的任務非常簡單。 jQuery的語法會像$(this).parent().attr('id')

相關問題