我有一个包含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。提前谢谢
答案 0 :(得分:4)
由于Element对象没有名为getElementById()的方法,因此它存在于document对象中。
而是modern browsers尝试使用{/ 3}}方法,例如
htmldoc.querySelector('#tr1')
答案 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();