Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在innerHTML附录中添加元素<;xml>;标签?_Javascript_Asp.net_Html_Html Parsing - Fatal编程技术网

Javascript 在innerHTML附录中添加元素<;xml>;标签?

Javascript 在innerHTML附录中添加元素<;xml>;标签?,javascript,asp.net,html,html-parsing,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.setA

我使用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);
}());
(函数(){
var divElmt=document.createElement('div');
var leftPane=document.getElementById('LeftHandPannelContent')
divElmt.id=“MyPanel”;
setAttribute('runat','server');
setAttribute('style','display:none');
var htmlTag=“”;
divElmt.innerHTML=htmlTag;
leftPane.appendChild(divElmt);
}());
上面的方法是一个自调用函数,我使用的标记是一个自定义标记,其前缀添加在aspx页面的顶部

问题是,在运行时innerHTML

"<?XML:NAMESPACE PREFIX = x/><x:CustomTag id="sample" runat="server"/>"
“”
此外,属性以不确定的顺序显示

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

编辑:

当我在设计时添加相同的自定义标记时,它工作得很好。此外,如果我使用innerText而不是innerHTML,则文本会得到正确更新。但我需要将其呈现为html内容。

不应该

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

var htmlTag=”“;

我将示例的s之前的\移到了左侧,因此现在它位于“for escape purpose.”之前。

似乎您在混合东西。
是否在html代码中的某个地方定义了“x”命名空间?另外:您尝试过InnerText而不是InnerHTML吗?@JoSo:ya“x”“命名空间定义在aspx页的顶部。我尝试了innerText,那里的>xml>没有被追加并显示为文本。html页面不关心aspx中的名称空间定义,因为javascript是在客户端执行的,asp不会将其内部工作公开给客户端。我相信你要做的是用javascript添加一些东西,然后让asp重新解释页面。这根本行不通。+1@JoSo:哦,是的,你的仪式。aspx不会重新解释它。那么我该如何实现这个目标呢?有什么想法吗?罗宾,这不是问题。这是个打字错误。我现在更新了qus。但是修复字符串并不能修复损坏的代码。这就像试图从JS调用PHP函数,或者使用jQuery查询Oracle数据库。
var htmlTag = "<x:CustomTag runat=\"server\" id=\"sample\">";