[英]Can't set a new innerHTML for an element with JS in .HTA page
我正在尝试为.HTA页面的head元素设置新的innerHTML属性,例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Some title</title>
</head>
<body>
<script>
var headHTML = document.getElementsByTagName('head')[0].innerHTML;
var headHTML = headHTML.replace('Some','Another');
document.getElementsByTagName('head')[0].innerHTML = headHTML;
</script>
</body>
</html>
但是我得到了错误:
无法设置innerHTML属性。 此操作的目标元素无效。
为什么以及如何解决问题?
PS。 标题只是一个例子。 我需要替换头部和身体中不同元素的innerHTML。
与HTA问题相比,这更多是IE特定问题。 在IE中, head
和title
元素的innerHTML
是只读的( 在其他一些元素中 )。 但是,可以将元素附加到head
。 例如,创建一个link元素将样式表添加到文档中:
var elem = document.createElement('link');
elem.rel = 'stylesheet';
elem.type = 'text/css';
elem.href = '....';
document.documentElement.appendChild(elem);
appendChild
方法也可以用于向document.body
添加元素。
请参阅MDN的createElement和appendChild 。
您是否尝试过将JS
放入
<script language="javascript">
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.