2012-11-29 30 views
0

我想获取包含td内元素的文本。即使不知道使用jQuery mytd.text()这个td里面的内容,也会在IE8中成功返回文本。是不是jQuery text()函数跨浏览器?

但是我注意到,这个功能text()可能不跨浏览器因为它返回在Chrome我diferent值和FF比IE8。在Chrome和FF中,字符串结果都比IE8长得多。它的前面和后面加上空值" "

由于我有一个变量mytd有td对象我怎样才能检索包含在跨浏览器方式的文本?

// Does not work 
    var text = mytd.text() 

谢谢。

+1

您可以制作小提琴,以便我们测试它吗? –

+0

“空值”是否意味着字符串在开始和结束时有空白? – apsillers

+0

@apsillers是的。 – anmarti

回答

3

跨浏览器的,但不同的浏览器处理的空白文本节点不同,jQuery不会抽象。

它确实提供了$.trim方法来帮助你。

要当你检索的文本,剥去白色空间只是这样做:

var text = mytd.text().trim(); 

...这是假定mytd指的当然是现有的jQuery的变量。你可以这样做:

var text = $('.mytd').text().trim(); 

编辑:

对不起,我测试了在Safari它实现了本地String.trim()方法;要在所有浏览器中都能正常工作,您应该这样做:

var text = $.trim(mytd.text()); 
3

你可以使用$.trim在开始时删除空白,并在一个字符串的结尾

$.trim(mytd.text()) 

for reference