在innerHTML中添加元素会附加<xml>标记?</xml>

时间:2012-09-06 06:44:42

标签: javascript asp.net html html-parsing

使用javascript我在运行时添加子元素。我的代码是,

(function () {
    var divElmt = document.createElement('div');
    var leftPane = document.getElementById('LeftHandPannelContent')
    divElmt.id = "MyPanel";
    divElmt.setAttribute('runat', 'server');
    divElmt.setAttribute('style', 'display:none');
    var htmlTag = "<x:CustomTag runat=\"server\" id=\"sample\">";
    divElmt.innerHTML = htmlTag;
    leftPane.appendChild(divElmt);
}());

上面的方法是一个自调用函数,我正在使用的Tag是一个自定义标记,其前缀添加在aspx页面的顶部。

问题是,在运行时,innerHTML有

"<?XML:NAMESPACE PREFIX = x/><x:CustomTag id="sample" runat="server"/>"

此外,属性以不确定的顺序填充。

可能是什么问题?如何在html页面中动态添加自定义标签?

修改

当我在设计时添加相同的自定义标签时,它工作正常。此外,如果我使用innerText而不是innerHTML,文本会正确更新。但我需要将其渲染为HTML内容。

1 个答案:

答案 0 :(得分:0)

不应该

var htmlTag = "<x:CustomTag runat=\"server\" id="\sample\">";

var htmlTag = "<x:CustomTag runat=\"server\" id=\"sample\">";

我将样本的s前面的\移到了左边,所以它现在在“出于逃避目的之前。”