Bazı jQuery kodlarımda şöyle bir şey var:jQuery: .addClass() veya .attr() tarafından sınıf değiştirildikten sonra sınıfa göre seçilmesi
$(document).ready(function() {
$("img.off").click(function() {
alert('on');
$(this).attr('class', 'on');
});
$("img.on").click(function() {
alert('off');
$(this).attr('class', 'off');
});
});
Seçici, orijinal HTML belgesinde tanımlanmış sınıf ismine sahip görüntüler için iyi çalışır, ancak jQuery ile sınıf adını değiştirdikten sonra, img öğesi yanıt vermez yeni sınıf kullanarak seçicilere.
Diğer bir deyişle, yukarıdaki kodu çalıştırarak, 'off
' img 'i tıklarsanız, ilk işlevi tetikler ve sınıfı' on
'olarak değiştirir. Ancak, bu görüntüyü tekrar tıklamak, ikinci işlevi tetiklemez (beklediğim gibi), ancak bir kez daha ilkini tetikler. Seçici, güncellenmiş versiyondan ziyade eski DOM'yi okuyormuş gibi. Burada neyi yanlış yapıyorum?
Firefox 3.6.3 - jQuery 1.4.2
Hmm'yi kullanmanız gerekir. JQuery'nin nasıl çalıştığıyla ilgili bazı yanlış varsayımlar yapıyor gibi görünüyor. Teşekkürler. – UpTheCreek
Yep, harika çalışıyor. – UpTheCreek
@Sosh '.click()' sadece bir dom öğesine bir işleyiciyi bağlar. – Skilldrick