代码之家  ›  专栏  ›  技术社区  ›  Oscar Godson

用JavaScript删除XML名称空间的简单方法?

  •  5
  • Oscar Godson  · 技术社区  · 14 年前

    <html:a href="#an-example" title="Go to the example">Just an Example</html:a>
    

    并将其更改为:

    <a href="#an-example" title="Go to the example">Just an Example</a>
    

    在运行jQuery或JavaScript时不知道其中的元素和/或属性?

    3 回复  |  直到 14 年前
        1
  •  3
  •   gblazex    11 年前

    如果没有 <script> 标记要替换的代码,您可以尝试 ( demo :

    container.innerHTML = container.innerHTML
                                   .replace(/<(\/?)([^:>\s]*:)?([^>]+)>/g, "<$1$3>")
    
        2
  •  0
  •   please delete me please delete me    14 年前

    这并不是一个真正的答案,但您最好还是处理这个服务器端。对于这种任务来说,JavaScript出现的有点太晚了。。。事件可能已经附加到现有节点,并且您将对每个元素进行两次处理。

    名称空间的用途是什么?

        3
  •  0
  •   sillyMunky    14 年前

    当你知道如何。。。只需使用\\对冒号进行转义,这样jquery解析引擎就不会将其解析为动作分隔符。

    $('html\\:a').each( function(){
      var temp = $(this).html();
      $(this).replaceWith("<a>"+temp+"</a>");
    });
    

    $.post('...',{}, function(dat){
        $(dat).find('html\\:a').each( blah blah ....
        .
        .
    });
    

    注意,我是那种只会用FF测试东西的可怕的人。。。