2011-06-28 73 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')

相关问题