之後,數組中的字符串不再是字符串當我通過jQuery.each()
方法循環它們時,我非常困惑與字符串數組的行爲。顯然,這些字符串成爲回調函數中的jQuery對象。但是,我不能使用this.get()
方法獲取原始字符串;這樣做會觸發this.get不是函數錯誤消息。我想這是因爲它不是一個DOM節點。我可以做$(this).get()
,但它使我的字符串成爲一個數組(從"foo"
到["f", "o", "o"]
)。在jQuery.each()
我該如何將它轉換回字符串?我需要得到一個String
類型的變量,因爲我將它傳遞給其他函數,比較它們之間的值。
我附上一個自包含的測試案例(需要Firebug的控制檯):
<!DOCTYPE html>
<html>
<head><title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript"><!--
$(function(){
var foo = [];
var $foo = $(foo);
foo.push("987");
$foo.push("987");
foo.push("654");
$foo.push("654");
$.each(foo, function(i){
console.log("foo[%d]: object=%o; value=%s; string=%o", i, this, this, $(this).get()); // this.get() does not exist
});
$foo.each(function(i){
console.log("$foo[%d]: object=%o; value=%s; string=%o", i, this, this, $(this).get()); // this.get() does not exist
});
});
//--></script>
</head>
<body>
</body>
</html>
我剛剛經歷過同樣的問題,但是發現這在嚴格模式下按預期工作。 – Joost 2016-01-12 11:57:42