Aşağıdaki soruları cevaplayarak jQuery bilginizi test edin.
Aşağıdaki butona tıklandığında, butonun metnini "Tıklandı!" olarak değiştiren kodu yazın:
$(document).ready(function() { $("#q1-button").click(function() { $(this).text("Tıklandı!"); }); });
Mouse kutuya geldiğinde arka plan rengini mavi, ayrıldığında beyaz yapan kodu yazın:
$(document).ready(function() { $("#q2-box") .mouseenter(function() { $(this).css("background-color", "#2196F3"); }) .mouseleave(function() { $(this).css("background-color", "white"); }); });
Input alanına en az 5 karakter girildiğinde "Geçerli", girilmediğinde "Çok Kısa!" mesajını gösteren kodu yazın:
$(document).ready(function() { $("#q3-input").keyup(function() { if($(this).val().length >= 5) { $("#q3-message") .text("Geçerli") .css("color", "#4CAF50"); } else { $("#q3-message") .text("Çok Kısa!") .css("color", "#f44336"); } }); });
Liste öğesi ekleyen ve en son eklenen öğeyi silen kodları yazın:
$(document).ready(function() { $("#q4-add").click(function() { const yeniOge = $("
Butonlara tıklandığında kutunun class'larını değiştiren kodları yazın:
$(document).ready(function() { $("#q5-toggle").click(function() { $("#q5-box").toggleClass("highlight"); }); $("#q5-add").click(function() { $("#q5-box").addClass("rounded"); }); $("#q5-remove").click(function() { $("#q5-box").removeClass("scaled"); }); // Test için scaled class'ını ekleyelim $("#q5-box").addClass("scaled"); });
Input alanına yazılan değeri anlık olarak başlığa yansıtan kodu yazın:
$(document).ready(function() { $("#q6-input").keyup(function() { $("#q6-output").text($(this).val()); }); });
Input alanına sadece sayı girilmesine izin veren kodu yazın:
$(document).ready(function() { $("#q7-input").keypress(function(e) { if(e.which >= 48 && e.which <= 57) { $("#q7-message").text("").css("color", "black"); } else { e.preventDefault(); $("#q7-message") .text("Lütfen sadece sayı girin!") .css("color", "red"); } }); });
Checkbox'ın durumuna göre mesaj gösteren kodu yazın:
$(document).ready(function() { $("#q8-checkbox").change(function() { if($(this).is(":checked")) { $("#q8-message") .text("Onaylandı!") .css("color", "green"); } else { $("#q8-message") .text("Lütfen onaylayın") .css("color", "red"); } }); });
Tüm kutulara tıklandığında rengini değiştiren kodu yazın:
$(document).ready(function() { $(".q9-box").click(function() { $(this).css({ "background-color": "#2196F3", "transition": "background-color 0.3s" }); }); });
Scroll pozisyonunu gösteren kodu yazın:
Scroll Pozisyonu: 0px
$(document).ready(function() { $(".preview-container").scroll(function() { const pos = $(this).scrollTop(); $("#q10-position").text("Scroll Pozisyonu: " + pos + "px"); }); });
Verilen JSON string'i parse edip, yeni bir öğrenci ekleyerek tekrar JSON'a çeviren kodu yazın:
{"ogrenciler":[{"ad":"Ali","not":85},{"ad":"Ayşe","not":92}]}
$(document).ready(function() { // JSON string'i parse et const jsonStr = $("#q11-input").text(); const data = JSON.parse(jsonStr); // Yeni öğrenci ekle data.ogrenciler.push({"ad": "Mehmet", "not": 78}); // Tekrar JSON'a çevir const yeniJson = JSON.stringify(data, null, 2); $("#q11-output").html(`${yeniJson}`); });
Aşağıdaki XML verisini parse edip öğrenci notlarının ortalamasını hesaplayan kodu yazın:
<?xml version="1.0" encoding="UTF-8"?> <sinif> <ogrenci> <ad>Ali</ad> <not>85</not> </ogrenci> <ogrenci> <ad>Ayşe</ad> <not>92</not> </ogrenci> <ogrenci> <ad>Mehmet</ad> <not>78</not> </ogrenci> </sinif>
Öğrenci Notları:
Ortalama: -
$(document).ready(function() { // XML string'i al ve parse et const xmlStr = $(".xml-example pre").text(); const xmlDoc = $.parseXML(xmlStr); const $xml = $(xmlDoc); let toplam = 0; let sayac = 0; // XML'i dolaş ve notları topla $xml.find("ogrenci").each(function() { const $ogrenci = $(this); const ad = $ogrenci.find("ad").text(); const not = parseInt($ogrenci.find("not").text()); $("#q12-list").append(`
Bir butona tıklandığında, hedef elementi önce soldan sağa doğru kaydırın, ardından fade out efekti uygulayın ve son olarak elementi yukarıdan aşağıya doğru slide edin.
Bu kutu üzerinde efektler uygulanacak
$(document).ready(function() { $("#effectsBtn").click(function() { $("#effectsTarget") .animate({"marginLeft": "200px"}, 1000) .fadeOut(1000) .slideDown(1000); }); });
Verilen listedeki elementleri filtreleyerek, sadece "önemli" sınıfına sahip olanları seçin ve bu elementlerin metin rengini kırmızı yapın. Ardından seçilen elementlerin kardeş elementlerine mavi renk uygulayın.
$(document).ready(function() { $("#filterBtn").click(function() { $("#itemList li") .removeClass("selected") .css("color", "black"); $("#itemList li.onemli") .addClass("selected") .css("color", "red") .siblings() .css("color", "blue"); }); });
Orijinal elementi klonlayın, klonun içeriğini değiştirin ve yeni özellikler ekleyin:
Bu element klonlanacak
Versiyon 1.0$(document).ready(function() { $("#cloneBtn").click(function() { // Elementi klonla const $clone = $("#originalElement").clone(true); // Klonun içeriğini değiştir $clone .find("h4").text("Klonlanmış Element").end() .find("p").text("Bu element özelleştirildi").end() .find(".badge").text("Versiyon 2.0"); // Yeni özellikler ekle $clone .css({ "background": "#e3f2fd", "transform": "scale(0.9)" }) .attr({"data-cloned": "true"}) .addClass("cloned-element"); // Klonu container'a ekle $("#cloneContainer").html($clone); }); });
Seçilen elementin parent, child ve sibling elementlerini manipüle edin:
$(document).ready(function() { $("#traverseBtn").click(function() { const $current = $(".generation.current"); // Parent elementi bul ve manipüle et $current.parent() .css("background", "#fff3e0") .find("h4").append(" (Manipüle Edildi)"); // Child elementleri bul ve manipüle et $current.find(".child") .css("background", "#e8f5e9") .find("h4").append(" (Manipüle Edildi)"); // Sibling elementi bul ve manipüle et $current.siblings(".sibling") .css("background", "#e3f2fd") .find("h4").append(" (Manipüle Edildi)"); }); });