2012-11-29 33 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