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

时间:2011-12-10 22:48:17

标签: javascript jquery

您好我的代码全部在FF中运行,但IE中的.text()方法填充的变量除外。

示例代码如下:

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

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

 alert(ff + ' - ' +fmsg); 

 });
 </script>

数据(文件):

 <data>
   <f m="1">hi</f>
   <f m="2">bye</f>
 </data>

为什么警报不显示'1-hi'和'2-bye',而是显示fmsg变量的空值。有什么建议?这是一个工作示例:http://jsfiddle.net/dtuce/1/

1 个答案:

答案 0 :(得分:0)

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

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 );
}

W3 adherent浏览器和IE之间一直存在差异。符合W3标准的浏览器公开Node#textContent属性,而IE公开Node#innerText属性。



HTH,

FK