testimonial
Div sınıfı ile bir yük var ve belirli bir koşul doğru olup olmadığını her div için denetlemek için döngü aracılığıyla jquery kullanmak istiyorum. Doğruysa, bir eylem gerçekleştirmelidir.
Bunu nasıl yapacağımı bilen var mı?
testimonial
Div sınıfı ile bir yük var ve belirli bir koşul doğru olup olmadığını her div için denetlemek için döngü aracılığıyla jquery kullanmak istiyorum. Doğruysa, bir eylem gerçekleştirmelidir.
Bunu nasıl yapacağımı bilen var mı?
Yanıtlar:
Her birini kullanın: ' i
' dizideki obj
konumdur, yinelemekte olduğunuz DOM nesnesidir (jQuery sarmalayıcısıyla da erişilebilir $(this)
).
$('.testimonial').each(function(i, obj) {
//test
});
Kontrol API referansı Daha fazla bilgi için.
false
yinelemeyi durduracaktır.
$(this)
, nesneye erişmeyi önerdiği için ... obj
DOM nesnesi olmak, örneğin doğrudan işlev obj.empty()
bunu dene...
$('.testimonial').each(function(){
//if statement here
// use $(this) to reference the current div in the loop
//you can try something like...
if(condition){
}
});
break;
kırılmaz. Kullanmalısınızreturn false;
Bunu bugünlerde jQuery olmadan yapmak oldukça basit.
Sadece öğeleri seçin ve üzerinde yineleme yapmak için .forEach()
yöntemi kullanın:
const elements = document.querySelectorAll('.testimonial');
Array.from(elements).forEach((element, index) => {
// conditional logic here.. access element
});
Daha eski tarayıcılarda:
var testimonials = document.querySelectorAll('.testimonial');
Array.prototype.forEach.call(testimonials, function(element, index) {
// conditional logic here.. access element
});
Bu örneği deneyin
Html
<div class="testimonial" data-index="1">
Testimonial 1
</div>
<div class="testimonial" data-index="2">
Testimonial 2
</div>
<div class="testimonial" data-index="3">
Testimonial 3
</div>
<div class="testimonial" data-index="4">
Testimonial 4
</div>
<div class="testimonial" data-index="5">
Testimonial 5
</div>
O divs
zamandan data-index
daha büyük olanlara erişmek istediğimizde 2
bu jquery'ye ihtiyacımız var.
$('div[class="testimonial"]').each(function(index,item){
if(parseInt($(item).data('index'))>2){
$(item).html('Testimonial '+(index+1)+' by each loop');
}
});
bu şekilde yapabilirsin
$('.testimonial').each(function(index, obj){
//you can use this to access the current item
});
jQuery'nin .eq () öğesi, dizin oluşturulmuş bir yaklaşımla öğeler arasında geçiş yapmanıza yardımcı olabilir.
var testimonialElements = $(".testimonial");
for(var i=0; i<testimonialElements.length; i++){
var element = testimonialElements.eq(i);
//do something with element
}
divs = $('.testimonial')
for(ind in divs){
div = divs[ind];
//do whatever you want
}
$(ind)
.
Basit bir döngü ile:
var testimonials= $('.testimonial');
for (var i = 0; i < testimonials.length; i++) {
// Using $() to re-wrap the element.
$(testimonials[i]).text('a');
}
JQuery güncellenmeden
document.querySelectorAll('.testimonial').forEach(function (element, index) {
element.innerHTML = 'Testimonial ' + (index + 1);
});
<div class="testimonial"></div>
<div class="testimonial"></div>
Sorunun bir kısmını kaçırıyor olabilirim, ancak bunu yapabileceğinize inanıyorum:
$('.testimonial').each((index, element) => {
if (/* Condition */) {
// Do Something
}
});
Bu, jQuery'nin her yöntemini kullanır: https://learn.jquery.com/using-jquery-core/iterating/
Daha kesin:
$.each($('.testimonal'), function(index, value) {
console.log(index + ':' + value);
});
JavaScript ES6 .forEach () tarafından verilen
bir dizi benzeri NodeList koleksiyonu üzerindenElement.querySelectorAll()
document.querySelectorAll('.testimonial').forEach( el => {
el.style.color = 'red';
console.log( `Element ${el.tagName} with ID #${el.id} says: ${el.textContent}` );
});
<p class="testimonial" id="1">This is some text</p>
<div class="testimonial" id="2">Lorem ipsum</div>
doc..torAll.forEach()
yeterli olur mu?
[...ArrayLike]
querySelectorAll için destek almadığı zaman için kullanıldı .forEach
. @aabbccsmith
Sınıf referansı ile tüm öğeler arasında döngü için jQuery $ each yöntemini kullanabilirsiniz. i => koleksiyondaki öğenin dizinidir ve val size o öğenin nesnesini verir ve öğenizin özelliklerine daha fazla erişmek ve durumunuzu kontrol etmek için "val" kullanabilirsiniz.
$.each($('.testimonal'), function(i, val) {
if(your condition){
//your action
}
});