可以更改字符串变量,但不能更改 innerHTML

Posted

技术标签:

【中文标题】可以更改字符串变量,但不能更改 innerHTML【英文标题】:can change string variable, but not innerHTML 【发布时间】:2013-01-08 16:47:39 【问题描述】:

我需要删除一部分innerhtml。我已经尝试了 3 个小时了。看起来很简单。

这确实有效...

var foo = '<div id = "test" class = "hidden" style = "width: 350px"></div>';
alert(foo);
foo = foo.split('id = "test" class = "hidden" ').join('');
alert(foo);

这并不...

var myElement = document.getElementById('kjbggk');

myElement.innerHTML = '<div id = "test" class = "hidden" style = "width: 350px"></div>';
alert(myElement.innerHTML);
myElement.innerHTML = myElement.innerHTML.split('id = "test" class = "hidden" ').join('');
alert(myElement.innerHTML);        

【问题讨论】:

【参考方案1】:

Click here 转到可能解决您的问题的相关 *** 问题。

This question on SO 似乎也与您的问题有关。

或者,你试过了吗

var myElement = document.getElementById('kjbggk');
alert(myElement.innerHTML);
var foo = '<div id = "test" class = "hidden" style = "width: 350px"></div>';
alert(foo);
foo = foo.split('id = "test" class = "hidden" ').join('');
alert(foo);
myElement.innerHTML = foo;
alert(myElement.innerHTML);

【讨论】:

谢谢。我仍然可以将“test”更改为“”,因此 id 实际上可以更改。我会阅读你给我的链接。 我无法解决。开始研究DOM模型。我几乎可以肯定它会解决问题(尽管它需要很多(简单)代码才能做到这一点)。 w3schools.com/htmldom/default.asp 您是否考虑过在第一个示例中将innerHTML 的值分配给像foo 这样的变量,操作foo,然后将foo 分配给innerHTML?我更新了我的答案以反映这个建议。 是的,是的,试过了,但不起作用。不过谢谢你的建议。但是 DOM 模型可以解决问题。从今天开始着手。

以上是关于可以更改字符串变量,但不能更改 innerHTML的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能使用 onsubmit 来更改 innerHTML?

更改 innerhtml 但页面不显示新的 innerhtml

如何将 innerHTML 保存到 Javascript 变量中,以便在更改实际的 innerHTML 时保持不变

如何使用 PHP 更改 innerHTML?

制作一个 JQuery 计算器,更改 innerHTML 但没有任何反应

无法更改 InnerText 0r InnerHTML