Uploaded by Suxroboff

jquery mustaqil ish

advertisement
O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUXAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI
UNIVERSITETI URGANCH FILIALI
“KOMPYUTER INJINERINGI” FAKULTETI 961-20 GURUH TALABASI MATYOQUBOV
SUHROBNING WEB DASTURLASHGA KIRISH FANIDAN
MUSTAQIL ISHI
Mavzu: JQueryda o’zgaruvchilar bilan ishlash.
TOPSHIRDI:
QABUL QILDI:
Matyoqubov Suhrob
JQueryda o’zgaruvchilar bilan ishlash.
JQuery haqida.


JQueryning maqsadi sizning veb-saytingnizda JavaScript dan foydalanishni
osonlashtirishdir.
JQuery birinchi marta 2006-yil yanvar oyida BarCamp NYC da Jon Resig tomonidan
chop etilgan. U hozir Timmi Vilson tomonidan boshqariladi.
JQueryni web sahifaga qo’shish.



JQuery.com saytidan JQuery kutubxonasini yuklash kerek.
JQuery`ni Google CDN-dan qo’shish kerak.
CDN-dan fayllar juda tezkor
<head>
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js”>
</script>
</head>
JQuery ([dʒeɪ kwɪəri]) JavaScript va HTML oʻrtasidagi oʻzaro taʼsirga qaratilgan JavaScript
funksiyalari toʻplamidir. JQuery kutubxonasi har qanday DOM elementiga kirishni, DOM
elementlarining atributlari va mazmuniga kirishni va ularni boshqarishni osonlashtiradi. JQuery
kutubxonasi AJAX bilan ishlash uchun qulay API ham taqdim etadi. jQuery xayriya qilingan
ko'ngillilar jamoasi tomonidan ishlab chiqilmoqda[4].
HTML Jon Resig dasturlashni birinchi boshlaganida o'rgangan birinchi narsalardan biri edi.
Resig QBasic-da dasturlash bilan shug'ullanayotgan edi, bir tanishi unga qanday qilib veb-sahifa
yaratishni (Angelfire yordamida), shuningdek, HTML asoslarini ko'rsatib berdi. Otasi unga
Rojdestvo uchun ikkita HTML kitobini sovg'a qildi. U birinchi marta Visual Basic-da
dasturlashni boshlaganida HTML va veb-dizayn unga juda qiziq bo'ldi.
Ammo JavaScript-ga bo'lgan ishtiyoq ancha keyinroq, taxminan 2004 yilda paydo bo'ldi. Resig
o'shanda kompyuter fanlari bo'yicha ilmiy darajaga ega bo'lgan va mahalliy Brand Logic
firmasida yarim kunlik ishlagan. U maxsus aylantirishni yaratadigan veb-saytni loyihalashtirdi.
Jon hafsalasi pir bo'ldi va hafsalasi pir bo'ldi, ayniqsa, u boshqa ishlab chiquvchilarning kodidan
foydalangani uchun, shundan so'ng u JavaScript-ni jiddiy o'rganishga qaror qildi. O'rganib
chiqqanimdan so'ng, men JavaScript oddiy, ammo nafis til bo'lib, ko'plab muammolarni hal
qilish uchun nihoyatda kuchli degan xulosaga keldim. Keyingi bir necha yil ichida Jon jQuery-ni
tugatishdan oldin juda ko'p turli xil JavaScript ilovalarini yaratdi. Resigning jQuery-ni
yaratishdagi asosiy maqsadi JavaScript-ni soddalashtiradigan qayta foydalanish mumkin bo'lgan
kod qismlarini kodlay olish va ularni brauzerlar o'rtasidagi muammolar haqida
tashvishlanmaydigan tarzda ishlatish edi. Kutubxona 2006 yilda Nyu-Yorkda bo'lib o'tgan
"BarCamp" kompyuter konferentsiyasida jamoatchilikka taqdim etilgan.
Imkoniyatlar:






Sizzle[5] kross-brauzerli CSS selektor mexanizmi alohida loyihaga aylantirildi;
DOM daraxtini kesib o'tish, shu jumladan plagin sifatida XPath-ni qo'llab-quvvatlash;
Tadbirlar;
Vizual effektlar;
AJAX qo'shimchalari;
JavaScript plaginlari.
Xuddi CSS renderlashni HTML strukturasidan ajratganidek, jQuery ham xatti-harakatni
HTML strukturasidan ajratadi. Misol uchun, tugmani bosish hodisasi ishlovchisiga
to'g'ridan-to'g'ri ishora qilish o'rniga, boshqaruv tugmalarni aniqlaydigan va keyin uni
bosish hodisasi ishlov beruvchisiga aylantiradigan JQuery-ga o'tkaziladi. Xulq-atvor va
tuzilmaning bunday bo'linishi, shuningdek, ko'zga tashlanmaydigan JavaScript printsipi
deb ataladi.
jQuery kutubxonasi vazifalarning eng keng doirasi uchun foydali bo'lgan funksiyalarni
o'z ichiga oladi. Biroq, kutubxona ishlab chiquvchilarining maqsadi jQuery-da hamma
joyda mos keladigan funktsiyalarni birlashtirish emas edi, chunki bu juda ko'p kodlarga
olib keladi, ularning aksariyati talab qilinmaydi. Shuning uchun kutubxona va
plaginlarning ixcham universal yadrosi arxitekturasi amalga oshirildi [6]. Bu sizga resurs
uchun talab qilinadigan JavaScript funksiyalarini to'plash imkonini beradi.
Foydalanish.
jQuery odatda veb-sahifaga bitta tashqi JavaScript fayli sifatida kiritiladi:
<head>
<!-- 1 метод локально -->
<script src="jquery-3.5.1.min.js">
</script>
<!-- 2 на сервер -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js">
</script>
</head>
html 5
jQuery bilan barcha ishlar $ yordamida amalga oshiriladi. Agar sayt sizning ehtiyojlaringiz
uchun $ ishlatilishi mumkin bo'lgan boshqa JavaScript kutubxonalaridan foydalansa, siz uning
sinonimi - jQuery-dan foydalanishingiz mumkin. Ikkinchi usul to'g'riroq deb hisoblanadi va kod
juda og'ir bo'lib qolmasligi uchun uni quyidagicha yozishingiz mumkin:
jQuery(function($) {
// здесь код скрипта, где в $ будет находиться объект, предоставляющий доступ к
функциям jQuery
})
Bir vaqtning o'zida bir nechta DOM tugunlarini manipulyatsiya qilishning odatiy misoli, bir
nechta HTML sahifa elementlarini o'z ichiga olgan jQuery ob'ektini qaytaradigan CSS selektor
qatori bilan $ funktsiyasini chaqirishdir. Keyinchalik bu elementlar jQuery usullari bilan qayta
ishlanadi. Misol uchun,
$("div.test").add("p.quote").addClass("blue").slideDown("slow");
Sinf testi bilan barcha div elementlarini, shuningdek sinf tirnoqli barcha p elementlarni topadi va
keyin ularning barchasiga sinf ko'k rangini qo'shadi va vizual ravishda pastga siljiydi. Bu yerda
add, addClass va slideDown usullari original ob'ektga havolani qaytaradi $("div.test"), shuning
uchun shunday zanjirlash mumkin.
$. bilan boshlanadigan usullar global ob'ektlar bilan ishlash uchun foydalidir. Misol uchun:
$.each([1,2,3], function() {
document.write(this + 1);
});
234 chi sahifaga qo’shish .
$.ajax va tegishli funksiyalar AJAX usullaridan foydalanish imkonini beradi. Misol uchun:
$.ajax({
type: "POST",
url: "some.php",
data: {name: 'John', location: 'Boston'},
success: function(msg){
alert( "Data Saved: " + msg );
}
});
Bu misolda some.php skripti name=John&location=Boston parametrlari bilan chaqiriladi va
natija alert () yordamida xabarda ko‘rsatiladi.
jQuery yordamida elementga bosish hodisasi ishlovchisini qo'shish misoli:
$("a").click(function() {
alert("Hello world!");
});
Bunday holda, <a> elementi bosilganda, alert("Salom dunyo!") chaqiriladi.
Turli xil ilovalarda bir xil funktsiyalarni amalga oshirish ishlab chiquvchilarni bir xil kodni bir
necha marta qayta yozishga undaydi, faqat ma'lum bir dastur uchun uni biroz o'zgartiradi.
jQuery plaginlari ishlab chiquvchilarga ushbu muammoni unutish imkonini beradi. Ishlab
chiquvchi plaginni bir marta yozishi mumkin, bu sizga ma'lum bir funktsiyani amalga oshirishga
imkon beradi va keyin faqat bitta kod satrini yozish orqali kerakli ilovalarda foydalanishga
imkon beradi. Internetda siz boshqa ishlab chiquvchilar tomonidan yozilgan juda ko'p bepul
jQuery plaginlarini topishingiz va ulardan ilovalaringizni yaratish uchun foydalanishingiz
mumkin.
Plagin yaratish.
Plagin yaratish uchun jQuery.fn obyektiga xususiyat qo'shishingiz kerak, uning nomi plagin
nomi bo'ladi:
Sintaksis:
//Определяем код плагина
(function($){
$.fn.имяПлагина = function() {
// Код плагина
};
})(jQuery);
//Вызываем плагин
$(селектор).имяПлагина();
Esda tutingki, bu yerda oʻram (funksiya($){ }) (jQuery) qoʻllaniladi, shunda plagin kodi ichidagi
$ belgisidan u boshqa JavaScript kutubxonalari bilan zid kelishidan qoʻrqmasdan
foydalanishingiz mumkin.
jQuery da html bilan ishlash usullari.
HTML bilan ishlashning asosiy usullari va bu elementlar uchun usullarini ko'rib chiqamiz.
Shunday qilib asosiy usullari:
html(val)-html-kod elementini qo'shadi.
Misol:
$("div.sp").html("<span>Salom</span>");
Matn "Salom" so`zni span bilan div-sp hamma bo`limiga qo'shadi.
text() / val() -element / qiymati element matn mazmunini qo`shadi.
Misol:
$("p").text();
Ushbu bandning abzas matnni elementini qo`shadi.
text(val) / val(val) -tovar / qiymati element uchun matnni to`g`irlashni belgilash.
Misol:
$ ("P") Matn ("Salom!");
Ushbu ko'rsatmalar "Salom" so'zini abzasdan yozish uchun qo`shadi.
HTML-kod:
<html>
<head>
<title>jQuery da html</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<p id="p1">Matn birinchi abzas!</p>
<p id="p2"></p>
<input type="button" value="Qaytarish!" onclick="addHtml();">
</body>
</html>
Funksiya quyidagi ko`rinishda
function addHtml(){
var tp1=$("#p1").text();
$("#p2").text(tp1);
}
Birinchi o'zgarmaydigan tP1 birinchi xatboshida (birinchi satr) matni mazmunini yozish va
keyin ikkinchi xatboshida (ikkinchi chiziq) beringlar chiqarish.
Endi element joylashtirilgan manipulyatsiya usullari bilan tanishib chiqaylik.
append(content) -mavjud mazmuni so'ng barcha tanlangan ob'ektlar ichida so`zni qo'shadi.
Misol:
$ ("P") append ("<b> Salom </ b>");
Ushbu ko'rsatmalar qalin turi matni "Salom" so`zini oxirida ilovaga qo`shadi.
appendTo(content)-ishni barcha content tanlangan ob'ektlar qo'shiladi.
Misol:
$("p").appendTo("#main");
Bu qo'llanma id "main" elementi oxirigacha qo'shadi.
Boshqa so'zlar bilan aytganda:
$ (A) .append (B) - B bilan boshlanib A gacha qo'shish
$ (A) .appendTo (B) -A bilan boshlanib B gacha qo'shish
prepend(content)-mavjud tarkibga barcha tanlangan ob'ektlar ichida so`zni qo'shadi.
Misol:
$("p").prepend("<b>Salom</b>");
Ushbu ko'rsatmalar qalin turi abzas boshiga matn boshiga"Salom" kiritiladi.
prependTo(content)-teskari ishni content barcha tanlangan ob'ektlariga qo'shiladi.
Misol:
$("p").prependTo("#main");
Bu qo'llanma id "main" element bilan yuqori bir xat boshiga chiqadi.
$(A).prepend(B)- B dan boshlanib A gacha qo`shadi.
$(A).prependTo(B) -A dan boshlanib B gacha qo`shadi.
after(content)-Append bilan bo'lgani kabi element oxiri so'ng tanlangan elementlarni (Eslatma
barcha content bo`limiga ketma-ket keyin) qo'shiladi.
Misol:
$("p").after("<b>Salom</b>");
Ushbu ko'rsatma "Salom" qalin turini abzas matni so'ngigacha kiritiladi(salom so`zini takrorlab
abzas boshidan chiqaradi).
befor(content)-barcha tanlangan elementlar content bolimiga qo'shadi.
Misol:
$("p").befor("<b>Salom</b>");
Ushbu ko'rsatmalar qalin turi abzastdan "Salom" matni oldin kiritiladi.
insertAfter(content) -content-a so'ng barcha tanlangan ob'ektlarni qo'shadi.
Misol:
$("p").insertAfter("#main");
Bu qo'llanma id "main" bilan element so'ngigacha xat boshidan chiqadi.
Boshqa so'zlar bilan aytganda:
$(A).after(B) -B dan qo`shib A da tugaydi.
$(A).insertAfter(B) -A dan qo`shib B da tugaydi.
insertBefore(content) -content-uchun oldin barcha tanlangan ob'ektlar ketma-ket qo'shadi.
Misol:
$("p").insertBefore("#main")
Ushbu qo'llanma id "main" element bilan oldin birinchi xat boshini chiqaradi.
Boshqa so'zlar bilan aytganda:
$(A).before(B) -B dan qo`shib A da tugaydi.
$(A).insertBefore(B)-A dan qo`shib B da tugaydi.
Bir misolni ko'rib chiqaylik. Agar qizil to'rtburchak ichida "Qo'shish" tugmasini bosing sariq
kvadratchalar paydo bo'lsa, (- bir quti bir marta bosishda takror) uni yarataylik.
Html kod:
<html>
<head>
<title>jQuery html</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="red_sk"></div>
<input type="button" value="Qo`shish!" onclick="addYellowSquare();">
</body>
</html>
style.css quyidagicha berilgan
#red_sk{
width:700px;
height:100px;
background:red;
}
.yellow_square{
float:left;
width:80px;
height:80px;
background:yellow;
margin:5px;
}
script.js funktsiya o'zi juda qisqa kod va u quyidagicha berilgan
function addYellowSquare(){
$("#red_sk").prepend("<div class='yellow_square'></div>");
}
Bu hamma shunday oddiy. Lekin uslublarni qo`shish ko'rib chiqish davom etadi:
wrap(html) -har bir html element uchun element qo`shadi.
Misol:
$("p").wrap("<span></span>");
Bu qo'llanma span-ning har bir elementi uchun xat boshidan qo`shadi.
wrapAll(html)-qog'ozda bir element yo`nidan boshqa elementlarni qo`shadi.
Misol:
$ ("P") WrapAll ("<span> </ span>");
Ushbu qo'llanma spam-ning barcha elementini xat boshidan qo`shadi.
wrapInner(html)-har bir elementning ichki mazmunini o'sish tartibida chiqadi.
Misol:
$("p").wrapInner("<em></em>");
Ushbu qo'llanma matn mazmunini kursiv har bir bandda beradi.
replaceWith(content)-content da ba'zi boshqa elementlarni qo`shadi.
Misol:
$("span").replaceWith("<div></div>");
Ushbu ko'rsatmalar butun span va div-ga almashtiradi.
replaceAll(selector)-bojarilgan ishni bBarcha selector-elementlariga qo`shadi.
Misol:
$("span").replaceAll("<div></div>");
Ushbu ko'rsatmalar butun span va div-ga almashtiradi.
empty() -matn shu jumladan barcha tugunlari element olib tashlanadi.
Misol:
$("span").empty();
Ushbu ko'rsatmalar spam-ning barcha elementlarini olib tashlab saqlaydi.
remove()-elementlar olib tashlaydi.
Misol:
$("span").remove();
Ushbu ko'rsatmalar butun span-bo`limini ochiriladi.
clone()-klon elementlari.
Misol:
$("b").clone().append("div");
Bu qo'llanma qalin elementlarni div-ga qo`shadi.
Misolda jQuery yana bir tomoni ustida qo'l tekkizmay ya'ni bu kutubxona tashrif zanjirlarini
qo'llab-quvvatlash.
Nihoyat, boshqa bir misolni olaylik. Biz ba'zi bir ro'yxat bor va biz foydalanuvchilar unga
ob'ektlar kiritish uchun ruxsat berish kerakli deylik:
Html kod quyida berilgan
<html>
<head>
<title>jQuery da html</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
Sizning yashash manzilingiz:
<ul id="jq">
<li>Surxandaryo</li>
<li>Qashqadaryo</li>
<li>samarqang</li>
</ul>
Qo`shimcha kiritish bo`limi:
<input type="text" id="user_text" size="20" maxlength="50">
<input type="button" value="Qo`shish" onclick="addSpisok();">
</body>
</html>
script.js funksiyasinig kodi
function addSpisok(){
var jq=$('#user_text').val();
$('#jq').append('<li>'+jq+'</li>');
}
JQuery da CSS bilan ishlash usullari
JQuery usullari uch kategoriyalari bor: bir naqsh taaluqli unsurlar bilan tashkil etiladi;
elementning ikkinchi qaytish qiymati, boshqalar elementlar o'zlari o'zgartirish esa.
CSS-uslublari uchun ishlatiladi usullari qarash.
Uslubning har qanday elementni qo'shish uchun siz quyidagi usuli foydalanish kerak:
.css(name,value)
Misol:
$("div").css("border", "1px solid blue");
Bu qo'llanma div kontenerga 1 px ega ko'k ramka qo`shadi.
CSS: background, border, font-style, colorFon va hokazo: CSS qo'llanilashda parametrning
nomlari ishlatiladi.
Agar buyum bir necha CSS-qoida uchun so'ralgan bo'lsan u quyidagini qo'llash yanada yaxshiroq
bo'ladi:
.css({properties})
Misol:
$("div").css({
border:"1px solid blue",
fontWeight:"bolder",
backgroundColor:"red"
});
Bu qo'llanma div kontenerga ko'k ramka, fon qizil va matn qilingini qo`shadi.
JavaScript da FontWeight, backgroundColor va hokazo: IE oynasida foydalanish font-weight va
background-color ekvivalenti CSS xususiyatlari uchun unutmang.
Uslublari bilan ishlash uchun har qanday boshqa usullar:
.addClass(class)
Misol:
$("p:last").addClass("main");
Ushbu bo'limda P oxirgi element uchun asosiy sinf qo'shiladi.
.removeClass(class)
Misol:
$("p:even").removeClass("main");
Ushbu ko'rsatmalar asosiy sinf main xat o`qishni bartaraf etadi.
.toggleClass(class)
Misol:
$("p").toggleClass("main");
U yo'qolgan bo'lsa, bu qo'llanma mavjud bo'lsa, sinfning barcha asosiy qatlamlariga bartaraf
qiladi.
.offset()
Misol:
var offDiv=$("div").offset();
Bu ko'rsatma div ning elementi chap va yuqori aniqlash uchun imkon beradi. Muayyan mulkni
qiymatini olish uchun, quyidagi xususiyatlarga foydalaning: offset.left-chap va offset.top yuqorida aniqlash uchun.
.height(value)
Misol:
$("div").height();
$("div").height(200);
Bu qo'llanma (birinchi satr chiziq) - element o'rnatish va (ikkinchi satr) balandligi beradi.
.width(value)
Misol:
$("div").width();
$("div").width(200);
Bu qo'llanma (birinchi satr chiziq) - element o'rnatish va (ikkinchi satr) kengligini beradi.
Misol:
var widDiv=$("div").width();
$("div.fir").width(300);
Birinchi satr o'zgaruvchilar widDiv birinchi div ning kengligi yozadi. Ikkinchi ko'rsatma 300
piksel div ning barcha sinf kengligi o'rnatadi.
Bu jQuery usullari juda qiziqarli dastur hisoblanadi: ular (2 dalillarini qabul qilganingizda)
parametr sozlamalari uchun ishlatiladi va bu parametrlar qiymatlari olish uchun (argumentga
o'tigan bo'lsa).
Html kod:
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h2>jQuery - CSS</h2>
<div id="vkladki">
<div class="vkl" id="vkladka1" onClick="chang('#vkladka1');">Bo`lim 1</div>
<div class="vkl" id="vkladka2" onClick="chang('#vkladka2');">Bo`lim 2</div>
<div class="vkl" id="vkladka3" onClick="chang('#vkladka3');">Bo`lim 3</div>
<div class="vkl" id="vkladka4" onClick="chang('#vkladka4');">Bo`lim 4</div>
</div>
<div style="clear: both"></div>
<div id="content"></div>
<div style="clear: both"></div>
</body>
</html>
Ko'rib turganimizdek shu uslubi barcha teglari belgilangan bo`lim sinflarda bor va tanlanadigan
bo`lim sinflari mavjud.
Tashqi ko'rinish belgilangan sahifa style.css quyida berilgan
.vkl{
float:left;
width:140px;
height:28px;
background:#E5BA83;
color:white;
font-size:20px;
border-right:1px solid white;
padding-left:10px;
}
#content{
width:603px;
height:100px;
background:#CCA675;
}
.selected{
background:#CCA675;
}
Funktsiya Chang () bo'lib qolmoqda:
function chang(s){
$('.selected').removeClass('selected');
$(s).addClass('selected');
}
Shunday qilib bunada qanday vazifani bajaradi? Birinchi tanlangan bir bo`lim sinf bor elementi
izlaydi va bu boshqa bo`limga sinf o`tiladi. So'ngra (ikkinchi chiziq) tanlangan bo`lim sinf
qo'shiladi (bu parametr s sifatida vazifaga o'tib id bo`limi yoqiladi) ob'ektni tanlaydi. Bu
hammasi shunday oddiy bajariladi.
jQuery da filtrlar.
:firs- mos sinchkovlik birinchi elementni tanlaydi.
Misol:
$("tr:first").css("font-style", "italic");
Ushbu kursiv jadvalining birinchi qatoriga yozaman.
:last - mos sinchkovlik oxirgi elementi tanlaydi.
Misol:
$("tr:last").css("font-style", "italic");
Ushbu kursiv jadvalda oxirgi qatoriga yozaman.
:even- hatto noldan elementlarni tanlaydi.
Misol:
$("tr:even").css("font-style", "italic");
Qiya jadvalda barcha hatto satrlarni yozish. Bu qo'llanma (raqamlashda noldan ketadi, chunki
ingl u g'alati chiziqlar ko'rinadi).
: Odd - noldan g'alati tanlaydi elementlari.
Misol:
$("tr:odd").css("font-style", "italic");
Qiya jadvalda barcha g'alati chiziqlar yozish Bu qo'llanma (raqamlash noldan ketadi, chunki ingl
bu hatto satrlarni ko'rinadi).
:eq(index)- uning indeksi bilan bir narsani tanlaydi (nolga asoslangan).
Misol:
$("td:eq(2)").css("font-style", "italic");
Ushbu jadvalda ikkinchi hujayra kursiv matn yozish qiladi (raqamlash noldan ketadi, chunki ingl
u uchinchi hujayrasi ko'rinadi).
: gt (index) - belgilangan buyukroq indeksli elementlarni tanlaydi.
Misol:
$("td:gt(2)").css("font-style", "italic");
Ushbu sekundiga bilan boshlab, stol barcha hujayralaridagi kursiv matn yozish qiladi (raqamlash
noldan ketadi, chunki ingl u uchinchi hujayraning ko'rinadi).
: lt (index) - bu kam indeksli elementlarni tanlaydi.
Misol:
$("td:lt(4)").css("font-style", "italic");
Ushbu jadvalda birinchi besh hujayralari kursiv matn yozish etadi.
Sifatida tegishli bir misolni ko'rib chiqaylik. Siz liniyalar rangini o'zgartirish mumkin, bir jadval,
yarataylik: hatto chiziqlar kulrang va g'alati - ko'k va 5 dan hujayralari shrift rangi sariq bo'ladi.
Men raqamlashi, shunday ko'rinishda g'alati asoslangan nol va hatto liniyalari aksi, va 5 hujayra
ingl bir oltinchi kabi ko'rinadi deb eslang.
Html kodi:
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h2> jQuery da filter</h2>
<table border="1" width="300">
<tr><td>jQuery</td><td>o`qiladigan satr ko`k </td></tr>
<tr><td>jQuery</td><td> o`qilamaydigan satr sariq </td></tr>
<tr><td>jQuery</td><td> o`qiladigan satr ko`k </td></tr>
<tr><td>jQuery</td><td> o`qilamaydigan satr sariq </td></tr>
<tr><td>jQuery</td><td> o`qiladigan satr ko`k </td></tr>
<tr><td>jQuery</td><td> o`qilamaydigan satr sariq </td></tr>
</table><br>
<input type="button" value="Ranglarni berish" onclick="addColor3();">
</body>
</html>
Funksiya kodi script.js da yoziladi:
function addColor3(){
$("tr:even").css("background-color", "grey");
$("tr:odd").css("background-color", "blue");
$("td:gt(5)").css("color", "yellow");
}
jQuery shakllarni tanlash
O'rnatilgan bo'lishi mumkinligini ko'rib chiqaylik:
#ID - transfer identifikator (id) bilan bir elementini tanlaydi.
Misol:
$("#lok").css("border", "1px solid red");
Bu operator id="lok"va bu holatda, unga 1 pikselga bir ramka kengligi css-uslubi kiritish qizil
qattiq id bilan elementi tanlaydi. (Css-jihozlardan sozlash uchun qanday to'g'risida alohida
muhokama qilinadi).
.class – css da hamma elementlar tanlaydi.
Misol:
$(".lok").css("border", "1px solid red");
Bu operator bu holda, class="lok"css-tarzida, ularni qo'shish bilan 1 pikselga bir ramka kengligi,
qizil qattiq barcha elementlarni tanlaydi.
elements - Nomi bilan tanlangan barcha elementlarni tanlaydi.
Misol:
$("div").css("border", "1px solid red");
Bu operator barcha div-dagi ramka ichida tanlaydi.
* - Bosh va tana, shu jumladan, barcha elementlarni, tanlaydi.
$("*").css("border", "1px solid red");
Bu operator barcha elementlariga ramkani qo'shadi.
$("*", document.body).css("border", "1px solid red");
Bu operator yorlig'I body tanasining barcha elementlariga ramkani qo'shadi.
selector1, ..., selectorN - Searchda tayinlangan barcha elementlarni tanlaydi.
Misol:
$("div, span, p.lok").css("border", "1px solid red");
Bu operator barcha div, span-am uchun ramka qo'shimchalar va bir sinf lok ega paragraflar.
Shunday qilib, istalgan har qanday ramkani tanlashingiz mumkin.
Html kod orqali oddiy sahifa
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h2>Селекторы jQuery</h2>
<div id="st1" ><p>Текст первого абзаца</p></div>
<div id="st2" ><p class="withBorder">Текст второго абзаца</p></div>
<div id="st3" ><p>Текст третьего абзаца</p></div>
<div style="clear: both"></div>
<button onclick="addStyle1()">Birinchi div qizil qiling
</button><br><br>
<button onclick="addStyle2()">O'rta paragraf ko'k ramka
</button><br><br>
<button onclick="addStyle3()">Birinchi va uchinchi div-ni qalin shrifti hosil qiling</button>
</body>
</html>
Tashqi ko'rinish bir uslublar (style.css) aniqlash:
#st1, #st2, #st3{
float:left;
background:yellow;
margin:5px;
padding:5px;
}
Sahifadagi script.js vazifalarni yozish:
function addStyle1(){
$("#st1").css("background", "red");
}
function addStyle2(){
$("p.withBorder").css("border", "1px solid blue");
}
function addStyle3(){
$("#st1, #st3").css("fontWeight", "bold");
}
Css-jihozlardan qanday o'rnatiladi va bu yerda siz ni aniqlash qanday. Keyin harakat.
Ierarxik tanlovchi
Ierarxik- daraxtsimon o`sish shunga o'xshash elementlar ajdodlari (parent) va avlodlari (child)
bo'lishi mumkin ob'ektlar ierarxiyasini ko'rib chiqildi. Misol uchun, barcha elementlari avlodidir
hosil qilish shakllantirilmoqda va shakli esa, o'z navbatida, ularning avlod hisoblanadi.
Keling, bu tanlovchi jQuery foydalanish mumkin ko'rib chiqaylik:
parent child - ma'lum bir element ajdodimiz avlodlaridir barcha elementlarni tanlaydi.
Misol:
$("form input").css("border", "1px solid red");
Ushbu element shaklida avlodlaridir ramka atrofida kiritishni hisoblab chiqadi.
parent > child -element barcha to'g'ridan-to'g'ri avlodini tanlaydi.
Misol - bizda bu strukturaning bir html-sahifa mavjud deylik:
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h2> jQuery bloklar tanlash</h2>
<div id="main">
<p></p>
<div></div>
<span></span>
</div>
<div id="content">
<p></p>
<div></div>
<span></span>
</div>
</body>
</html>
Keyin quyidagi bayonot:
$("#content > *").css("border", "1px solid red");
Hamma elementlar uchun chegaralarini qo'shishingiz (div, span va abzas) id = " content " bilan
div, lekin id = " main " bilan div Shu nom elementlarni ta'sir qilmaydi.
prev + next - element next (oldingi) uchun prev (keyingi) quyidagi barcha elementlari tanlaydi.
$("label + input").css("border", "1px solid red");
Bu qo'llanma teg (label) amalini ramkani kiritishni faqat hisoblab chiqadi.
Forma bloklari
: Input - kiritish barcha elementlarini tanlaydi.
: Matn - barcha elementlar usuli turi matnni tanlanadi.
: Parol - parolni barcha kirish elementlarni tanlaydi.
: Radio – radio turini barcha kirish elementlarni tanlaydi.
: checkbox - katagdagi barcha kirish elementlarni tanlang.
: Submit - kirish elementlari tanlaydi.
: Reset - barcha kirish elementlarni tanlaydi.
: Button - tugmasini barcha kirish elementlarni tanlang.
: Image - tasvir turi barcha kirish elementlarni tanlang.
: file - turi faylga barcha kirish elementlarni tanlang.
: hidden - yashirin turdagi barcha kirish elementlarni tanlaydi.
JQuery Formadagi shakllar
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h2> jQuery Formda shakllar uchun</h2>
<form>
<label>E-mail:</label><br>
<input type="text" name="mail"><br>
<label>Password:</label><br>
<input type="password" name="pas"><br>
<input type="button" id="b1" value="Kiritish shakil uchun to`g`ridan to`g`ri rang"
onclick="addColor1();">
<input type="button" id="b2" value=" Tugma shakil uchun to`g`ridan to`g`ri rang "
onclick="addColor2();">
</form>
</body>
</html>
Asosiy funksiya
function addColor1(){
$(":text, :password").css("background", "red");
}
function addColor2(){
$(":button").css("background", "blue");
}
Masalan, faqat bitta tugmani rangini o'zgartirish istagan bo'lsa, id uchun uni muomalada bo'ladi:
function addColor2(){
$("#b1").css("background", "blue");
}
Ya'ni forma shakllari shakli elementlari bilan katta harakatni qilishga yordam beradi.
Download