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);
}());

上記のメソッドは自己呼び出し関数であり、使用しているタグはカスタム タグであり、そのプレフィックスは aspx ページの上部に追加されます。

問題は、実行時にinnerHTMLが持っていることです

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

また、属性は未定の順序でサッフルされます。

問題は何ですか?HTMLページにカスタムタグを動的に追加するにはどうすればよいですか?

編集:

設計時にカスタムタグを使用して同じものを追加すると、正常に機能します。また、innerHTML の代わりに innerText を使用すると、テキストが適切に更新されます。しかし、それを 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 に答える