Он имеет тот же эффект , что скрывает их всех, но это не совсем то же самое внутри, нет. .each()
принимает обратный вызов, в котором this
может использоваться для выполнения определенных действий с каждым элементом, поэтому он выполняет немного больше работы .hide()
в цепочке просто устанавливает display: none;
для элементов (сохраняя их предыдущее значение).
Вы можете увидеть, как это работает внутри, здесь , для вашего звонка без параметров:
for ( var i = 0, l = this.length; i < l; i++ ) {
var old = jQuery.data(this[i], "olddisplay");
if ( !old && old !== "none" ) {
jQuery.data( this[i], "olddisplay", jQuery.css( this[i], "display" ) );
}
}
// Set the display of the elements in a second loop
// to avoid the constant reflow
for ( var j = 0, k = this.length; j < k; j++ ) {
this[j].style.display = "none";
}
В вышеприведенном this
относится к набору элементов, который соответствует $('.class_el_1, .class_el_2')
, просто используя цикл for
для их надписи.