繁体   English   中英

无法在.HTA页面中为带有JS的元素设置新的innerHTML

[英]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中, headtitle元素的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的createElementappendChild

您是否尝试过将JS放入

<script language="javascript">

</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM