您好我的代码全部在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/
答案 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