Sıkça Sorulan Sorular
JQuery-tr Wiki sitesinden
Bu madde bir taslaktır. Bu maddeyi genişleterek katkıda bulunabilirsiniz.
Konu başlıkları |
Nasıl Yapılır ?
class veya id kullanarak nasıl element seçerim?
- Aşağıdaki kod id'si "benimdiv" olan bir element seçer. ID'ler elemente özgün olduğu için bu ifade daima ya tek bir element seçer veya o ID'ye ait bir element yoksa sıfır element seçer.
$('#benimdiv')
- Aşağıdaki kodlar class'ı "benimcss" olan elementleri seçer. Aynı class'a sahip herhangi bir sayıda element olabileceğinden, bu ifade herhangi bir sayıda element seçebilir.
$('.benimcss')
Seçili bir element şu şekilde bir JavaScript değişkenine atanabilir:
var benimDivElement = $('#benimdiv');
Genellikle seçili elementler diğer jQuery fonksiyonları tarafından etkilenir.
var benimDeger = $('#benimdiv').val(); // bir elementin değerini alır $('#benimdiv').val("merhaba dünya!"); // bir elementin değerini değiştirir
Bir elementin istediğim class'da olup olmadığını nasıl anlarım?
(Bir diğer deyişle: jQuery'de hasClass() fonksiyonu var mı?)
Uygun bir seçiciyle birlikte is() fonksiyonunu kullanabilirsiniz.
if ( $('#benimdiv').is('.guzel') ) $('#myDiv').show();
Bu method'un başka şeyleri de test etmeye yaradığına dikkat edin. Örneğin, bir element'in gizli olup olmadığına bakabilirsiniz.( :hidden seçicisini kullanarak.)
if ( $('#benimdiv').is(':hidden') ) $('#benimdiv').show();
Ayrıca jQuery 1.2 versiyonu itibariyle hasClass() metodu da eklenmiştir. Ancak sadece bir elementin bir class'a sahip olup olmadığını test amaçlı kullanılır.
$("div").click(function(){ if ( $(this).hasClass("korunakli") ) $(this) .animate({ left: -10 }) .animate({ left: 10 }) .animate({ left: -10 }) .animate({ left: 10 }) .animate({ left: 0 }); });
Bir Element'in var olup olmadığını nasıl anlarım?
Seçicinizden gelen jQuery koleksiyonunun length niteliğine bakarak anlayabilirsiniz.
if ( $('#benimdiv').length ) $('#benimdiv').show();
Not: Bir elementin olup olmadığına her zaman bakmanıza gerek yok. Aşağıdaki eğer "benimdiv" varsa bunu gizleyecek, yoksa hiçbirşey yapmayacaktır. Yani hata vermez.
$('#benimdiv').show();
Açılır/kapanır (toggle) elementin durumunu nasıl anlarım?
:visible veya :hidden seçicilerini kullanarak anlayabilirsiniz.
var gorunur_mu = $('#benimdiv').is(':visible'); var gizli_mi = $('#benimdiv').is(':hidden');
Eğer sadece görünür olup olmamasıyla ilgi birşey yapacaksanız seçicide :visible veya :hidden kullanmanız yeterli. Mesela;
$('#benimdiv:visible').hide();
Yukarıdaki kodun seçicisi "benimdiv" id'sindeki görünür elementleri arar. Dolasısıyla eğer elementimiz görünürse, onu gizleyecektir. Ama değilse seçici hiçbirşey seçemeyeceğinden, hiçbirşey yapmadan geçilir. Dolayısıyla aşağıdaki kodlarla yapılacak işi yapmanın kısa yoludur.
if ($('#benimdiv').is(':visible')) $('#benimdiv').hide();
