Javascript 从不在IE中工作的XML读取.text()

Javascript 从不在IE中工作的XML读取.text(),javascript,jquery,Javascript,Jquery,您好,我有这段代码,除了IE中由.text()方法填充的变量外,所有代码都在FF中工作 示例代码如下所示: <script language="javascript" type="text/javascript"> $(document).find('f').each(function(){ var ff= $(this).attr("m"); var fmsg = $(this).text();

您好,我有这段代码,除了IE中由
.text()
方法填充的变量外,所有代码都在FF中工作

示例代码如下所示:

 <script language="javascript" type="text/javascript">
 $(document).find('f').each(function(){

                 var ff= $(this).attr("m");  
                 var fmsg = $(this).text();   

 alert(ff + ' - ' +fmsg); 

 });
 </script>

$(文档)。查找('f')。每个(函数(){
var ff=$(this.attr(“m”);
var fmsg=$(this.text();
警报(ff+'-'+fmsg);
});
数据(文件):


你好
再见
为什么警报没有显示“1-hi”和“2-bye”,而是显示
fmsg
变量的空值。有什么建议吗?下面是一个工作示例:

jQuery#text方法似乎并不准备从我所看到的XML中收集文本内容。(不过,我很乐意接受指点)

与往常一样,W3兼容浏览器和IE之间存在差异。W3兼容浏览器公开
节点的textContent
属性,而IE公开
节点的innerText
属性



嗯,


FK

我不会依赖于jQuery处理浏览器试图正确解析为HTML的XML文档——在尝试应用各种浏览器不兼容修复程序时,它可能会混淆。试着用jsFiddle来解析它,这个例子对我来说很有用,这也表明它是你浏览器的解析器出了问题。它在IE中不起作用,只是看起来像。
 <data>
   <f m="1">hi</f>
   <f m="2">bye</f>
 </data>
text: function( text ) {
    if ( jQuery.isFunction(text) ) {
        return this.each(function(i) {
            var self = jQuery( this );

            self.text( text.call(this, i, self.text()) );
        });
    }

    if ( typeof text !== "object" && text !== undefined ) {
        return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
    }

    return jQuery.text( this );
}