2010-03-26 28 views
0

樣品HTML不工作:jQuery選擇在IE

<tr> 
    <td class="hidden tblLnk">8163</td> 
</tr> 
<tr> 
    <td class="hidden tblLnk">8163</td> 
</tr> 
<tr> 
    <td class="hidden tblLnk">8164</td> 
</tr> 

此方法應該從行與特定TD類返回的唯一的文本陣列。我們的樣本中{8163,8164}。

適用於ffs和chrome,但不適用於ie8或safari。你能發現問題嗎?

function getUniqueIds() 
{ 
    var tblLnks = new Array(); 

    $('td.tblLnk').each(function() 
    { 
     tblLnks.push($(this).text().trim()); 
    }); 

    return tblLnks.unique(); 
} 
+0

你能發佈一個html代碼片嗎? – 2010-03-26 19:55:08

+0

你在IE中遇到錯誤嗎? – 2010-03-26 19:57:22

+0

而你的unique()方法的代碼。 – anddoutoi 2010-03-26 19:59:02

回答

2

我想這:

$(this).text().trim() 

應該是這樣的:

$.trim($(this).text()); 

如果你的目的是要我們jQuery的trim()函數。

+1

是 - 就是這樣。謝謝。我喜歡stackoverflow :) – CurlyFro 2010-03-26 20:33:24

+0

作爲附錄,String.trim()僅適用於Firefox 3.5所實現的JavaScript 1.8.1/ECMAScript 5。這解釋了這些差異: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim – Peter 2010-03-26 20:36:13

1

1:有一個在JavaScript中的Array對象,在所有A級瀏覽器今天的作品上沒有本地unique()方法。所以,如果這是你的意圖,請張貼代碼。

第二:如果您參考jQuery的unique()方法,您最好閱讀該方法的描述。此方法不能在Array對象上調用。這需要DOM元素的Array對象作爲paramenter,如:

$.unique(myArrayOfDomElements); 
+0

我添加了一個獨特的功能。 Array.prototype.unique = function(){ var a = []; var l = this.length; (var j = i + 1; j CurlyFro 2010-03-26 20:10:10