2010-03-26 77 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