0

使用 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 内容。

4

1 回答 1

0

不应该

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

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

我将 sample 的 s 之前的 \ 移到了左侧,所以它现在位于 " 之前以进行转义。

于 2012-09-06T06:57:12.850 回答