微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Node.innerHTML以小写字母给出标记名称

我正在迭代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搜索通常要好得多.在我们提供一些代码之前,您必须告诉我们更多关于您正在尝试做什么的信息.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐