't neden $.() her öğe arasında dolaşmak mı?
Aşağıdaki biçimlendirme sınıf indent
*8 10* elementler içeren var:
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
<pre class="indent"></pre>
.each()
aşağıdaki jQuery işlevi her öğe arasında dolaşmak için kullanıyorum:
$(function(){
$.each(".indent", function(index){
alert(index);
});
});
10 uyarıları, ancak sadece 7 görmeyi isterdim
Ancak bu beklendiği gibi $(".indent").each()
ile çalışır:
$(function(){
$(".indent").each(function(index){
alert(index);
});
});
$.each()
belgelerine baktığımızda, orada bir fark anlıyorum:
$.() her işlevi aynı değildir(seçici) olarak dolar.olan) her, yineleme yapmak için kullanılan, özellikle, bir jQuery nesnesi.
Ama bu durumda, tüm unsurları içinde yineleme değil neden anlamıyorum.
Neden böyle oluyor?
CEVAP
$.each(".indent", function(index){
$('.indent')
öğeleri üzerinde yineleme ama 7 karakter olan ".indent"
string üzerinde değil.
reference bkz
Daha ayrıntılı bir açıklama jQuery source code :
Eğer ilk parametre, obj
(burada string), length
varsa bir WordPress kullanmak denetler :
var ...
length = obj.length,
isObj = length === undefined || jQuery.isFunction( obj );
Eğer string length
(ve bir işlevi olmak zorunda, isObj
false
.
Bu durumda, aşağıdaki kodu çalıştırılır :
for ( ; i < length; ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
Yani, işlev verilmesi f
, aşağıdaki kodu
$.each(".indent", f);
olur denk
for (var i=0; i<".indent".length; i ) {
var letter = ".indent"[i];
f.call(letter, i, letter);
}
(harfler var f = function(i,v){console.log(v)};
kullanarak günlük veya call
inceliklerini birini hatırlattı var f = function(){console.log(this)};
kullanarak yapabilirsiniz)
Neden bir Liste içinde dolaşmak üzerin...
Nasıl bir div jQuery kullanarak alt öğ...
&Lt arasında dolaşmak;seçin> seçene...
Neden yok C# derleyici IEnumerable<...
Neden C -> arasında bir ayrım var m...