我正在迭代NodeList来获取Node数据,但是在使用Node.innerHTML时,我得到的是小写的标签名称.
实际标签
<Panel><Label>test</Label></Panel>
给予
<panel><label>test</label></panel>
我需要这些标签.是否有可能通过正则表达式得到它?我在dojo中使用它(在dojo中有什么办法吗?).
var xhrArgs = {
url: "./user/"+Runtime.userName+"/ws/workspace/"+Workbench.getProject()+"/lib/custom/"+(first.type).replace(".","/")+".html",
content: {},
sync:true,
load: function(data){
var test = domConstruct.toDom(data);
dojo.forEach(dojo.query("[id]",test),function(node){
domAttr.remove(node,"id");
});
var childEle = "";
dojo.forEach(test.childNodes,function(node){
if(node.innerHTML){
childEle+=node.innerHTML;
}
});
command.add(new ModifyCommand(newWidget,{},childEle,context));
}
};
解决方法:
您不能指望.innerHTML保留原始HTML的确切性质.实际上,在某些浏览器中,它与不同的引用,大小写,属性顺序等有很大不同(虽然生成相同的结果)…
最好不要依赖案例的保存并调整你的javascript来处理不确定的案例.
当然可以使用正则表达式进行不区分大小写的搜索(“i”标志将其搜索指定为不区分大小写),尽管使用直接DOM访问/搜索而不是innerHTML搜索通常要好得多.在我们提供一些代码之前,您必须告诉我们更多关于您正在尝试做什么的信息.
原文地址:https://codeday.me/bug/20190625/1284791.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。