无法使用getelementbyid访问id

时间:2014-06-19 05:30:02

标签: javascript jquery html

我有一个包含html值的字符串变量。

sAttachment = "<HTML><BODY><TABLE><TR id='tr1'><td>...</td></TR><TR id='tr2'><td>..</td></TR></TABLE></BODY></HTML>"

我想要做的是删除tr1及其下的所有元素,但我无法使用getelementbyid访问它。

var htmldoc = document.createElement('div');
htmldoc.innerHTML = sAttachment;

htmldoc.getElementById('tr1') - &gt; object不支持此属性或方法。

为什么我不能这样做?或者有没有其他方法可以删除tr1而不创建另一个元素?

使用javascript。提前谢谢

3 个答案:

答案 0 :(得分:4)

由于Element对象没有名为getElementById()的方法,因此它存在于document对象中。

而是modern browsers尝试使用{/ 3}}方法,例如

htmldoc.querySelector('#tr1')

演示:querySelector()

答案 1 :(得分:1)

使用Jquery.

var $elem = $('#tr1');

选择TR具有id tr1

的内容

答案 2 :(得分:1)

如果它只是一个字符串,那么您可以执行以下解决方案..

sAttachment = "<HTML><BODY><TABLE><TR id='tr1'><td>...</td></TR><TR id='tr2'><td>..</td></TR></TABLE></BODY></HTML>"

//convert string to JQuery element
var str = $(sAttachment);
//remove tr1 element
str.find('[id="tr1"]').remove()
//get back new string
var newStr = str.html();