2013-10-01 6 views
0

Возможно, очень простой, но все же необходимо знать insite.

Для простой операции DOM, что может заставить нас использовать JQuery -> .each?

В принципе, в чем разница между следующими двумя?

$('ul').css('color','black') И

$('ul').each(function(){ $(this).css('color','black');}); 

Что рекомендуется и почему?

+0

Это что-то: можно остановить цикл из функции обратного вызова, возвращая значение false, пока с помощью $ ('ul'). Css мы не можем остановить цикл? – Sumeet

+0

Этот вопрос не имеет значения? Для меня это действительно полезно знать, стоит ли нам оставаться с $() или использовать его только в определенных условиях? – Sumeet

ответ

3

.each будет полезен в таких ситуациях:

var a = 100; 
$('ul').each(function(){ $(this).css('width',a+'px'); a+=200;}); 
+2

Может делать с '.css':' var a = -100; $ ("ul"). Css ("width", function() {return (a + = 200)}); ' – Esailija

3

.each полезен в ситуациях, когда вы хотите перебрать каждый элемент отдельно

$("div").each(function(i) { 
if (this.style.color !== "blue") { 
    this.style.color = "blue"; 
} else { 
    this.style.color = ""; 
} 
}); 

или

$("div").css("color", function(i, val){return val === "blue" ? "" : "blue"}); 
+1

+1. И наоборот, когда у вас нет такой сложности, не используйте их. – Thilo

+0

Даже для этого '.css' намного более изящный' $ ("div"). Css ("color", function (i, val) {return val === "blue"? "": "Blue"}) ' – Esailija

+0

@Esailija: Как вы думаете, что является подходящим ответом на этот запрос? – Sumeet

-1

Чтобы перебрать список объектов, вы можете использовать $ .each(). Очень полезно, если вы получите json-строку или объект из ajax-вызова, а затем нужно перебрать его.

+0

Могу я знать, что случилось с этим.? почему проголосовали? – Rajesh

+0

Вы говорите о '' $ .each() '] (http://api.jquery.com/jQuery.each/), но вопрос о [' .each() '] (http: // api. jquery.com/each/). Это не одно и то же. – JJJ

Смежные вопросы