jQuery.each()

admin發表於2017-02-21

此方法是通用遍歷方法,可用於遍歷物件和陣列。

不同於each()方法的是jQuery.each()可用於遍歷任何物件,而each()方法只能夠遍歷jQuery物件。

方法的返回值是被遍歷的物件或者陣列。

語法結構一:

[JavaScript] 純文字檢視 複製程式碼
jQuery.each(array, callback(index,ele))

引數解析:

(1).array:被遍歷的陣列。

(2).callback:處理每個元素的函式。index:可選,當前陣列元素的索引值(從0開始),ele:可選,當前陣列元素。函式中的this指向當前陣列元素的物件封裝(陣列元素並不一定是物件,比如有可能是數字或者字串)。如果callback返回true,那麼將會終止遍歷,返回非false的值,那麼相當於一個迴圈中的continue語句,立即跳出當前的遍歷,轉到下一個遍歷。

jQuery1.0版本新增。

語法結構二:

[JavaScript] 純文字檢視 複製程式碼
jQuery.each(object, callback(propertyName,valueOfProperty))

引數解析:

(1).object:要被遍歷的物件。

(2).callback:處理每個物件屬性的函式。propertyName:可選,物件的屬性名稱,valueOfProperty:可選,對應屬性值。函式中的this指向當前屬性值的物件封裝(屬性值並不一定是物件,比如有可能是數字或者字串)。如果callback返回true,那麼將會終止遍歷,返回非false的值,那麼相當於一個迴圈中的continue語句,立即跳出當前的遍歷,轉到下一個遍歷。

jQuery1.0版本新增。

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function () {
    $.each([0, 4, 8], function (i, n) {
    alert(+i+":"+n);
   })
})
})
</script>
</head>
<body>
<input type="button" id="bt" value="檢視演示"/>
</body>
</html>

點選按鈕可以遍歷陣列,彈出值是陣列元素索引和對應的陣列成員。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function () {
  $.each($("li"),function(i,n){
   alert(i + ": " + $(n).text())
  })
})
})
</script>
</head>
<body>
<ul>
  <li>JSP專區</li>
  <li>DIV+CSS專區</li>
  <li>ASP專區</li>
  <li>jQuery專區</li>
</ul>
<input type="button" id="bt" value="檢視演示"/>
</body>
</html>

$("li")獲取的雖然不是陣列,但是它是一個類陣列,所以處理方式和陣列相同。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function () {
    var obj = {
      "age": 4,
      "address":"青島市南區"
    }
    $.each(obj, function (prop, propValue) {
      alert(prop + ": " + propValue)
    })
  })
})
</script>
</head>
<body>
<input type="button" id="bt" value="檢視演示"/>
</body>
</html>

遍歷物件,然後彈出屬性名稱和對應的屬性值。