Element atributlarining Javascript qiymatlari.

Kontaktlar / Korisne PZ

topshirish

  • Golovna Ushbu dars hujjat ob'ekt modeli (javaScript DOM) asoslari - dinamik HTML asoslari, ob'ektlarga kirish usullari va JavaScript-ni qayta ishlash usullarini o'z ichiga oladi. Umuman
  • ob'ekt

  • - bu yashirin modulga shaxsiy ma'no qo'shadigan va ularning nomlari ortidagi qiymatlarni saqlash va chiqarish imkonini beruvchi ma'lumotlar ombori turi. Ilgari biz javascript tushunchalari bilan allaqachon tanishgan edik. JavaScript DOM bilan bir xil tushunchaga ega
  • Hujjat obyekti modeli

- Web-sahifaning obyekt modeli (html sahifa). Hujjat teglari yoki, ko'rinishidan, hujjat tugunlari butun ob'ektdir. Keling, diagrammani ko'rib chiqaylik

JavaScript-da ob'ektlar ierarxiyasi

  • , va ierarxiya bu mavzu ob'ekt hujjat tahlil topilgan o'sha.
  • Skript elementi quyidagi atributlarga ega:

    kechiktirish (saytning to'liq jozibasini uyg'otish).

    Butt:

    JavaScript-dagi hujjat ob'ektining vakolatlari va atributlari Hujjat obyekti veb-sahifadir. Muhim::

    JavaScript-da, boshqa ob'ektlar bilan ishlashda bo'lgani kabi, ob'ekt usullarining kuchini maksimal darajada oshirish uchun,

    nuqta belgisi vikipediya

    tobto.

    Skript elementi quyidagi atributlarga ega: Avval ob'ektning o'zi yoziladi, keyin uning kuchi, atributi yoki usuli nuqta orqali va bo'sh joysiz ko'rsatiladi.

    obyekt.power obyekti.atribut obyekti.metod()

    Keling, dumbani ko'rib chiqaylik: html hujjat tegga ega bo'lsin Mening elementim

    yangi uchun qiymatlar

    1. css uslubi
    2. (ikkita uslub mavjud, ikkinchisi bezatish uchun kerak bo'ladi):
    3. Kerakli:

    ob'ektga yangi kuch berish, unga ma'no berish va uning ma'nosini etkazish;
    ob'ekt atributining qiymatini kiriting;

      ob'ekt atributining qiymatini o'zgartirish. Vikonaemo zadannya tartibda:✍ Ruxsat:

      Bu shunday

      JavaScript tili , keyin ob'ektni taxmin qilish va uning biron bir ma'noga ega bo'lgan kuchga ega yoki yo'qligini berish mumkin. Birinchidan, ob'ektga kirish taqiqlanadi (ob'ektga kirish ushbu darsda keyinroq muhokama qilinadi):

      Endi ob'ektimizning atribut qiymatini ko'rsatish uchun JavaScript-ni qo'shamiz. Kod buti aybdor keyin

      asosiy teglar:

      // ushbu id bilan ob'ektga kirishni taqiqlash var element = document.getElementById("MyElem"); alert(element.getAttribute("sinf"));// Muloqot oynasida ko'rsatiladi

      Men o'rnatilganligicha qolaman: atributning qiymatini o'zgartirish mumkin.

      Buning uchun bizda tayyorgarlik uslubi mavjud

    "katta"

    .

    Class atributining qiymatini ushbu uslub bilan almashtiring:

    • // ushbu id bilan ob'ektga kirishni taqiqlash var element = document.getElementById("MyElem");
    • element.setAttribute("sinf", "katta");

    • Natijada, bizning elementimiz hajmi kattaroq bo'ladi va ko'k rangda (katta sinf) paydo bo'ladi.
    • Endi biz atributlar bilan robotik usullarning turli xil qo'llanilishini ko'rib chiqamiz.

    JavaScript-da atributlar bilan ishlash usullari

    Skript elementi quyidagi atributlarga ega: Atributlarni qo'shish, o'chirish va o'zgartirish mumkin. Buning uchun maxsus usullar mavjud:.


    ob'ekt atributining qiymatini kiriting;
    • Atribut qo'shish (yangi qiymat kiritish):
    • getAttribute(attr)

    • Ushbu atributning mavjudligini tekshirish:
    • removeAttribute(attr)

      Atributlar bilan ishlashning turli usullari

      Qiymat atributining qiymatini kiriting

      matn bloki

      Davom eting, matn bloki:

      var elem = document.getElementById("MyElem");


      Keling, atribut qiymatini chiqarishning bir qancha usullarini ko'rib chiqaylik (buni ko'rish uchun alert() usulidan foydalaning): elem.getAttribute("qiymat")

      elem.getAttribute("qiymat")

      2. nuqta belgisi:

      element.attributes.value

      element.attributes.value 3. qavs belgisi:

      Vitannya!
      Atribut qiymatlarini o'rnating


      Siz shuningdek quyidagi usullar bilan parchalashingiz mumkin:

      JavaScript-dagi hujjat ob'ektining vakolatlari va atributlari var x = "kalit";

      // kalit - atribut nomi, val - atribut qiymati // 1. elem.setAttribute("kalit", "val") // 2. elem.attributes.key = "val" // 3. elem.attributes[" tugmasi "] = "val" // 4. elem.setAttribute(x, "val") Tana elementining kuchi Hujjat ob'ekti orqali siz hujjatning asosiy qismiga - tana tegiga - tegishli vakolatlarga o'tishingiz mumkin.

      JavaScript-da hujjat elementlariga kirish

      Ob'ektlarga kirish yoki qidirish uchun bir nechta variantlar mavjud:

    1. Id bo'yicha qidirish(yoki getElementById usuli), ma'lum bir elementni aylantiradi
    2. Teg nomini qidiring(yoki getElementsByTagName usuli), elementlar massivini aylantiradi
    3. Nom atributini qidiring(yoki getElementsByName usuli), elementlar massivini aylantiradi
    4. Otaning elementlari orqali(Barcha yostiqlarni olib tashlang)

    Keling, hisobotdagi variantlarni ko'rib chiqaylik.

    1. Elementga uning id atributi orqali kirish
    2. Sintaksis: document.getElementById(id)

      getElementById() usuli elementning o'zini aylantiradi, uni ma'lumotlarga kirish uchun vikorizatsiya qilish mumkin

      Skript elementi quyidagi atributlarga ega: Sahifada id="cake" atributiga ega matn maydoni mavjud:

      ...

      Kerakli


      ob'ekt atributining qiymatini kiriting;

      alert(document.getElementById("cake").value);

      // "pirojnoe tomonidan" aylanadi Siz ob'ektni vayron qilganlarni qurbon qilishingiz mumkin:

      zminna orqali

    JavaScript-dagi hujjat ob'ektining vakolatlari va atributlari var a=document.getElementById("cake");

  • ogohlantirish (a.qiymat);
  • Sintaksis:
    // qiymat atributining qiymati ko'rinadi, keyin.

    Skript elementi quyidagi atributlarga ega:"Keklarda" matni

    ...

    Kerakli Ssenariy tagidan keyin buti ob'yazkovo aybdor!


    Nom yorlig'i nomi va massivning qo'shimcha indeksi orqali elementlar massiviga kirish document.getElementsByTagName(nom); Sahifada qiymat atributiga ega matn maydoni (kirish yorlig'i) mavjud:

    ob'ekt atributining qiymatini kiriting;

      : qiymat atributining qiymatini kiriting

      getElementsByTagName usuli barcha kirish elementlariga kirishni tashkil qiladi (birgalikda.

  • elementlar massiviga
  • Sintaksis:
    kiritish), bu element sahifada bir xil ekanligini ko'rsating.

    Muayyan elementga, masalan, birinchisiga o'tish uchun uning indeksini ko'rsating (massiv nol indeksdan boshlanadi). Indeks orqasidagi maxsus elementga pastga aylantiring: var a =document.getElementsByTagName("input");


    Skript elementi quyidagi atributlarga ega: ogohlantirish (a.qiymat);

    // "pirojnoe tomonidan" aylanadi

    Name atributi qiymatlari orqasida joylashgan elementlar massiviga kirish document.getElementsByName(nom); getElementsByName("...") usuli aylanadi

    JavaScript-dagi hujjat ob'ektining vakolatlari va atributlari ob'ektlar majmuasi, unda nom atributi usul parametri sifatida belgilangan qiymatdan kattaroqdir.

    Agar yon tomonda faqat bitta shunday element mavjud bo'lsa, usul hali ham massivni aylantiradi (faqat bitta element bilan).

  • Hujjatda quyidagi element qabul qilinadi:
  • var element = document.getElementsByName("MyElem"); childNodes ning qo'shimcha quvvatini anglatadi.

    Hokimiyat ob'ekt-otaga tegishli.

    document.getElementById(roditel).childNodes;

    document.getElementById(roditel).childNodes;

    <Keling, rasm teglari konteynerga joylashtirilgan misolni ko'rib chiqaylik - div tegi. <Shunday qilib, div yorlig'i ma'lumotlarning asosiy tasviridir va img teglarining o'zi div tegining tomonlari ekanligi aniq: <div id = "div_for_img" > <img src = "pic1.jpg" / > <img src = "pic2.jpg" / > <img src = "pic3.jpg" / >

    img src = "pic4.jpg" / > /div> Endi ko'rinadi

    modal oyna< childMas.length;i++){ alert(childMas[i].src); }

    prokladkalar bilan massiv elementlarining ma'nosi, keyin.

    img teglari:

    var myDiv=document.getElementById("div_for_img");

  • // dad-konteynerga boramiz var childMas=myDiv.childNodes;
  • // prokladkalar massivi (var i = 0; i Yodda tutingki, prokladkalar qatorining elementlarini takrorlash uchun siz qo'lda halqani tanlashingiz kerak.

    <Tobto. <Bizning ilovamizda quyidagi tsikl mavjud: <... for (var a in childMas) ( alert(childMas[ a].src ) ; ) <(var a in childMas)( alert(childMas[a].src); ) uchun" > !}!} <Elementlarni tozalashning boshqa usullari <Keling, boshqa usullarni ko'rib chiqaylik 1<dumba ustida: <tanasi > 3<dumba ustida: <shakl nomi = "f" > 4<dumba ustida: <kiritish turi = "matn" id = "t" > <kiritish turi = "tugma" id = "b" qiymati = "tugmasi)

    ni tanlang">

    variant id = "o1" >

    ... /opsiya> variant id = "o2" > variant id = "o3" >/tanlash>

    /form>

    Skript elementi quyidagi atributlarga ega: Html hujjatida tugma va matn maydoni yarating. Skript yordamida tugmaning fonini o'rnating (tugmaning quvvat uslubi.backgroundColor) va yozing."Vitannya!"

    matn maydonida (qiymat atributi).

    HTML kodi:""; document.getElementById("b1").style.backgroundColor = "red";!}!}

    document.getElementById("t1").value = "Salom!

    Variant 2:

    document.getElementById("t1") .setAttribute("qiymat", "Salom!");

    document.getElementById("b1" ) .style .backgroundColor = "qizil" ; document.getElementById("t1").setAttribute("qiymat","Salom!");

    document.getElementById("b1").style.backgroundColor = "qizil";

    Menejer Js8_2.

    Kichik sahifadagi rasmga muvofiq matn maydoni teglarini yarating.

    Ularni id atributlari uchun maxsus (kichiklarga tayinlangan) qiymatlarga o'rnating. Skriptdan foydalanib, barcha raqamli maydonlarga (raqamli qiymatlarni uzatuvchi) “0” qiymatini qo'shing. Shakl ma'lumotlarini kiritish to'g'riligini tekshirish


    Maydon bo'sh qolmadimi?

    Biz ularga ishona olmaymiz. Xodimlar ma'lumotlarni kiritishdan oldin ularni tekshiradi deb taxmin qilish mantiqsiz bo'lar edi. Bu shuni anglatadiki, har kim javascriptdan foydalanishi kerak.
    Tasdiqlash uchun,

    matn maydoni bo'sh qoldirilmaydi

    (masalan, har qanday anketa ma'lumotlarini to'ldirgandan so'ng), keyingi qadam qiymatga kengaytirishdir. Agar kuchning ma'nolari bo'sh qatorga ega bo'lsa (""), bu haqda egasiga xabar berish kerak. if(document.getElementById("name").value=="") (masalan, siz to'ldirishingiz mumkin bo'lgan maydon haqida ma'lumot); Bundan tashqari, siz skriptsiz qilishingiz mumkin. Matn maydonining kiritish tegi naqsh atributiga ega.

    Ushbu qiymat shaklning ushbu matn maydonidagi ma'lumotlarni muntazam tekshirish orqali ko'rsatiladi.

    Atribut nima

    naqsh


    , keyin matn maydoni to'g'ri kiritilmaguncha shakl ishlamaydi.

    1 2 3 4 5 6 7 8 9 10 11 12 <Masalan, maydon bo'sh emasligini tekshirish uchun: Raqamli qiymat o'rniga matn: isNaN funksiyasi<Agar maydon o'tkazilsa
    raqamli qiymat kiritish<, va matn kiritish o'rniga isNaN funksiyasidan foydalanishingiz kerak (ingliz tilida.
    "Nima raqam emas?"<kiritish turi = "matn" id = "daqiqalar" >
    Xalta:<kiritish turi = "matn" id = "poditog" >
    Toʻlov:<kiritish turi = "matn" id = "soliq" >
    Xalta:<kiritish turi = "matn" id = "itog" >
    <kiritish turi = "yuborish" qiymati = "submit" onclick = "placeOrder();" > !}!} <kiritish turi = "tugma" id = "b" qiymati = "tugmasi) <skript turi = "matn/javascript" > ... </skript>

    Men:
    Donut miqdori:
    Xvilin:
    Xalta:
    Toʻlov:
    Xalta:

    yangi uchun qiymatlar
    Keling, ikkita matn maydonini to'ldirishning to'g'riligini tekshiradigan quyida kengaytirilgan kod qismini qo'shamiz: men(id = "ism") Xvilin(id="daqiqa").

    Iltimos, bo'sh maydon yo'qligini ("") va raqamli maydon to'g'ri to'ldirilganligini (isNaN) tekshiring.

    * Vikonati zavdannya, shuningdek, qo'shimcha yordam uchun matn maydonlarining naqsh atributiga qo'shimcha yordam uchun.

    Skript fragmenti:

    Ilgari qabul qilingan ijodiy aqlni rag'batlantirish uchun foydalanish uchun kodga ega bo'ling.
    Siz uchun yangi tushunchalar - tugma ostidagi funksiyani misol sifatida bosing:
    onclick="placeOrder();"

    Tugmani bosish orqali placeOrder() funksiyasi chaqiriladi

    Belgilangan elementga atribut qiymatini o'rnatadi.

    Atributi allaqachon mavjud, qiymati yangilangan; Aks holda, ko'rsatilgan nom va qiymat bilan yangi atribut qo'shiladi. Sintaksis, Element);

    .setAttribute(

    nomi

    qiymat

    Parametrlar

    nomi qiymati o'rnatilishi kerak bo'lgan atribut nomini ko'rsatadigan DOMString.

    Agar setAttribute() HTML hujjatida HTML elementi deb atalsa, name atributi barcha qisqa soatlar uchun avtomatik ravishda baholanadi.

    qiymat DOMString uni ifodalovchi qiymatlarni o'z ichiga oladi.

    Belgilangan har qanday chiziqsiz qiymat avtomatik ravishda satrga aylantiriladi.

    Mantiqiy atributlar, agar ular haqiqiy qiymatidan qat'i nazar, elementda umuman mavjud bo'lsa, haqiqiy hisoblanadi; bu ishlaydi, lekin nostandartdir). Amaliy namoyish ustiga bosing.

    Satrda ko'rsatilgan maxsus qiymatlarsiz, nullni ko'rsatish siz kutgan narsaga qarab belgilanishi shart emas, agar siz atributni ishga tushirmoqchi bo'lsangiz, removeAttribute() ni chaqiring.

    Istisnolar

    InvalidCharacterError Name atributining qiymati Name atributida to'g'ri bo'lmagan bir yoki bir nechta belgilarni o'z ichiga olishi kerak.

    Misol

    • Quyidagi misolda setAttribute() atributlarni o'rnatish uchun ishlatiladi.
    • disabled kabi mantiqiy atribut qiymatini belgilash uchun istalgan qiymatni belgilashingiz mumkin. Bo'sh qator yoki atributlangan ê tavsiya etilgan qiymatlar nomi. Muhimi shundaki, agar atribut umuman mavjud bo'lsa,

    uning haqiqiy qiymatidan qat'i nazar

    , uning qiymati rost deb hisoblanadi. Ushbu ahamiyatga ega atribut yozuvlari soni ahamiyatsiz. Disabled atributining qiymatini bo'sh satrga ("") o'rnatish orqali biz disabledni true ga o'rnatamiz, bu esa tugmani o'chirib qo'yishiga olib keladi. Elementning atributlari bilan ishlaydigan DOM usullari:
    Nomlar maydonidan xabardor emas, ko'pchilik usullarni tanlash qoidasi sifatida Nomlar maydonidan xabardor variantlar (DOM 2-darajali) Attr tugunlarini to'g'ridan-to'g'ri ajratish uchun DOM 1-darajali usuli (kamdan-kam ishlatiladi) Attr tugunlarini to'g'ridan-to'g'ri tarqatish uchun DOM 2-darajali nom maydonidan xabardor usullar (kamdan-kam qo'llaniladi)
    setAttribute(DOM 1) setAttributeNS setAttributeNode setAttributeNodeNS
    getAttribute(DOM 1) getAttributeNS - -
    getAttributeNode getAttributeNodeNS hasAttribute(DOM2) -

    hasAttributeNS

    • removeAttribute(DOM 1)

    removeAttributeNS

    removeAttributeNode

    Spetsifikatsiya

    DOM 2-darajali yadrosi: setAttribute (DOM 1-darajali yadrosida kiritilgan)Brauzer mosligi
    Ushbu sahifadagi jadvalning ixchamligi tuzilgan ma'lumotlardan hosil bo'ladi.Bilganingizdan so'ng, ma'lumotlaringiz haqida bilish uchun https://github.com/mdn/browser-compat-data ni bosing va bizga tortish so'rovini yuboring.GitHub-da muvofiqlik ma'lumotlarini yangilangIsh stoli MobilChromeChetFirefoxInternet ExplorerOperaSafariAndroid veb-ko'rinishi
    Android uchun ChromeAndroid uchun FirefoxAndroid uchun OperaIOS uchun SafariSamsung Internet

    setAttribute

    Chrome to'liq qo'llab-quvvatlash Ha

    setAttribute

    Edge to'liq qo'llab-quvvatlash 12 Firefox To'liq qo'llab-quvvatlash Ha
    IE To'liq qo'llab-quvvatlash 5EslatmalarTo'liq qo'llab-quvvatlash 5EslatmalarInternet Explorer 7 va undan oldingi versiyalari uchun setAttribute uslublarni o'rnatmaydi va ularni o'rnatishga harakat qilganingizda hodisalarni olib tashlaydi.Opera to'liq qo'llab-quvvatlash HaSafari to'liq qo'llab-quvvatlash 6WebView Android to'liq qo'llab-quvvatlash Ha

    Chrome Android to'liq qo'llab-quvvatlash Ha

    Firefox Android to'liq qo'llab-quvvatlash Ha Opera Android To'liq qo'llab-quvvatlash Ha Safari iOS to'liq qo'llab-quvvatlash Ha

    Samsung Internet Android To'liq qo'llab-quvvatlash Ha

    Afsona

    Ushbu maqolada biz DOM vakolatlari va atributlarini tushunamiz, keling, ular nimani anglatishini va ular bilan qanday to'g'ri munosabatda bo'lishni ko'rib chiqamiz.

    Keling, JavaScript-ning atributlar ustida amallarni bajarish usullarini ko'rib chiqaylik.

    DOM-power atributining ma'nosi nima?

    Atributlar HTML ob'ektlari bo'lib, ular yordamida HTML kod elementlariga ma'lumotlarni qo'shishimiz mumkin. Brauzer sahifani yuklaganida, chiqish HTML kodini tahlil qiladi..

    Shundan so'ng, bu kod kengayadi va sizning DOM-da bo'ladi.

    Ushbu jarayonning soati ostida Elementlarning HTML atributlari turli DOM organlariga aylantiriladi Masalan, brauzer berilgan HTML kodni o'qiyotganda ushbu element uchun quyidagi DOM vakolatini yaratadi: id, className, src va alt.

    Zvernennya cikh hokimiyatiga

    JavaScript kodlari

    ob'ektning hokimiyat organlariga qarshi turadi.

    Bu erda ob'ekt DOM elementi (element).

    Ko'rsatilgan element uchun DOM organlarining qiymatlarini olib tashlaydigan va konsolda ularning qiymatlarini ko'rsatadigan misol:

    // O'chiriladigan element var brandImg = document.querySelector("#brand"); // console.log(brandImg.id) da elementning DOM qiymatlarini ko'rsatadi;.

    // "brend" console.log(brandImg.className);

    // "brend" console.log(brandImg.src); // "/logo.png" console.log(brandImg.alt);// "sayt logotipi"

    Belgilangan katakcha turidagi kirish elementi uchun HTML kodida tekshirilgan atributni ko'rsatishning iloji bo'lmasa, u uchun DOMda hamma narsa tekshiriladi, aks holda u noto'g'ri bo'ladi.

    Bundan tashqari, JavaScript atributlarni boshqarish imkonini beradi.

    Qaysi DOM API uchun maxsus usullar mavjud.

    Ammo, agar siz haqiqatan ham ma'lumotlar bilan o'zingiz shug'ullanishingiz kerak bo'lsa, ular faqat vikorizatsiya qilinishi kerak.

    • Siz bilishingiz kerak bo'lgan narsa shundaki, biz elementning DOM quvvatini o'zgartirganimizda, asosiy atribut ham, boshqa atribut ham o'zgaradi.
    • Ammo brauzerlarda bu jarayon har doim ham bir xil emas. DOM organlari va atributlari o'rtasidagi asosiy vakolatlar: atributning qiymati ketma-ket, DOM-dominantligining qiymati esa oddiy turdagi ma'lumotlar (majburiy qator emas);

    Atribut nomi registrga sezgir, DOM quvvati esa registrga sezgir.

    Tobto.

    Biz HTML kodini yozishimiz mumkin, masalan, HTML atribut identifikatorini Id, ID va hokazo.

    Xuddi shu narsa biz maxsus belgilagan atribut nomlari uchun ham amal qiladi

    u bilan ishlashdan oldin.

    Aniq DOM kuchiga qo'shimcha ravishda, biz faqat ID-dan foydalanishimiz mumkin va boshqa hech narsa yo'q.

    DOM element kuchi bilan ishlash

    JavaScript elementlarining vakolatlari bilan ishlash, yuqorida aytib o'tilganidek, ko'proq ob'ektlarning vakolatlariga o'xshaydi.

    Ammo qo'shiq elementining yadrosiga o'sishi uchun uni boshidan kesib tashlash kerak.

    JavaScript-da DOM elementini, masalan, universal querySelector usuli va DOM elementlari to'plamini, masalan, querySelectorAll usuli yordamida tanlashingiz mumkin."; // присвоим DOM-свойству title элемента новое значение // или так (т.к. обращение к этому свойству мы уже сохранили в переменную alertId) alertId = "Новый текст подсказки"; // или так (т.к. обращение к этому свойству мы уже сохранили в переменную alertId) alert.className = "alert alert-warning"; !}!}

    Keling, keyingi HTML elementini ko'rib chiqaylik:

    Maslahat matni...

    Axborot xabarnomasi matni...

    Var paragraflar = document.querySelectorAll("p");< length; i++) { if (paragraphs[i].className) { console.log(paragraphs[i].className); }

    uchun (var i = 0, uzunlik = paragraphs.length ; i

    Misol uchun, biz "ru" qiymatlari bilan quvvat lang sinfidagi barcha elementlarni o'rnatamiz:< length; i++) { contents[i].lang = "ru"; }

    Var contents = document.querySelectorAll(".content");

    uchun (var i = 0, uzunlik = tarkib.uzunlik; i

    Elementlarning atributlari va ular bilan ishlash usullari

    Atributlar dastlab HTML kodida ko'rsatilgan.

    • Ular hokimiyat bilan bog'lanishni xohlashadi, lekin bir xil emas.
    • Ko'pincha siz hokimiyat bilan o'zingiz ishlaysiz va faqat kerak bo'lganda atributlarga borasiz.
    • DOM organlariga kiritilgan atributlarning qiymatlari, ular allaqachon yuqorida ko'rsatilgandek, endi bir qatorda.
    • Atributlar bilan bog'liq turli operatsiyalar uchun JavaScript, shu jumladan usullar:

    .hasAttribute("attribute_name") - ko'rsatilgan atribut elementda mavjudligini tekshiradi.

    Agar tekshirilayotgan atribut elementda bo'lsa, bu usul true qiymatini qaytaradi, aks holda u false ni qaytaradi. .getAttribute("attribute_name") – atribut qiymatini oladi. Belgilangan atributda element bo'lmasa, bu usul bo'sh qatorni ("") yoki null ni aylantiradi.

    .setAttribute("attribute_name", "attribute_value") - atributni belgilangan qiymatlardan elementga o'rnatadi.

    .removeAttribute("attribute_name") - elementdan atribut qiymatlarini olib tashlaydi.

    Keling, bir ko'rib chiqaylik.

    Duje

    miltiq dumbasi

    qiymat atributi bilan."; // получим значение атрибута value у элемента name.getAttribute("value"); // "Tom" !}!}

    Atributli dumba Bob.

    Agar siz ushbu maydonga matn kiritsangiz, xuddi shunday bo'ladi.

    DOM qiymati qiymati faol qiymatlarga ega bo'ladi va mos keladigan atribut biz o'rnatgan qiymat bilan bir xil qiymatga ega bo'ladi, masalan, setAttribute usuli orqasida.

    Ushbu misol shuni ko'rsatadiki, DOM organlari bilan ishlash to'g'riroq va siz faqat zarurat bo'lmasa, atributga o'tishingiz kerak.

    Aytgancha, agar siz HTML-ga kiritgan asl qiymat qiymatlarini olib tashlashingiz kerak bo'lsa, siz tezda quvvatdan foydalanishingiz mumkin.

    Qiymat atributining boshlang'ich qiymatini o'rnatish kuchi defaultValue deb ataladi.

    Name.defaultValue;

    //Tom

    Yana bir ajoyib dumba, lekin endi href atributiga ega.

    Href atributiga ega ko't

    Masalan, biz xabarning ma'nosini olib tashlashimiz kerak, chunki u HTML-ga kiritilgan.

    Har bir holatda href atributi va hrefning DOM kuchi turli ma'nolarga ega.

    href atributida - biz kodga kiritganlar va DOM-quvvat - yakuniy URL.

    Nihoyat, tanlangan atributni ko'rib chiqaylik.

    Tanlangan atribut bilan butt

    Tanlangan tanlash variantining qiymatini qanday tanlash mumkinligini ko'rsatadigan misol:

    yo'q reytinglar yo'q

    Tanlangan elementda tanlangan parametr qiymatini qanday tanlash mumkinligini ko'rsatadigan misol:

    Atributlar bilan ishlashning yana bir usuli (kuch atributlari)

    JavaScript-da teri elementi atributlar kuchiga ega, bu esa uning barcha atributlarini NamedNodeMap obyekti sifatida olib tashlash imkonini beradi.

    Bu usul Agar sizga, masalan, elementning barcha atributlarini takrorlash kerak bo'lsa, qiyin bo'lishi mumkin.:

    • Ushbu to'plamning atributiga kirish uning indeksi yoki qo'shimcha element usuli orqali amalga oshirilishi mumkin.
    • .setNamedItem("attribute_yel") – elementga yangi atribut qo'shadi yoki mavjudning qiymatini yangilaydi.
    • Atribut yaratish uchun siz atribut nomini parametr sifatida o'tkazishingiz kerak bo'lgan document.createAttribute() usulidan foydalanishingiz kerak.

    Shundan so'ng, yaratilgan atributga qiymatning qo'shimcha kuchi uchun qiymat berilishi kerak.

    JavaScript-da teri elementi atributlar kuchiga ega, bu esa uning barcha atributlarini NamedNodeMap obyekti sifatida olib tashlash imkonini beradi.

    .removeNamedItem("attribute_name") - elementning atribut qiymatlarini o'chiradi (natija o'chirilgan atributni aylantiradi).

    • getNamedItem, setNamedItem va removeNamedItem usullari orqali atributlarga ega butt robot:
    • Zavdannya

    Konsolga id atributini o'z ichiga olgan barcha hujjat elementlarini kiriting. Sahifadagi barcha rasmlarga nom atributini qo'shing, chunki ularda hech qanday atribut yo'q. Atribut qiymatini alt atribut qiymatiga teng qilib o'rnating. Sozlash uchun havola yaratishingiz mumkin bog'lashlar,

    Qo'shiqchining ma'nosini qanday tekshirishimiz mumkin?

    mantiqiy ma'no dodavannyam chi emas atributlardan oldin. bu dumba:

    Ko.bindingHandlers.attrIf = ( yangilash: funktsiya (element, valueAccessor, allBindingsAccessor) ( var h = ko.utils.unwrapObservable(valueAccessor()); var show = ko.utils.unwrapObservable(h._if); if (ko'rsatish) ( ko.bindingHandlers.attr.update(element, valueAccessor, allBindingsAccessor); ) else ( for (var k in h) ( if (h.hasOwnProperty(k) && k.indexOf("_") !== 0) ( $(element).removeAttr(k);

    havola Men shunchaki @gbs-da post yozmoqchiman, lekin qila olmayman., Mening qarorim ikki ona uchun bo'ladi, HTML elementi, : atributga ega bo'lgan, hech qanday nokautsiz, ulardan birini elementga qo'shish uchun.):

    Men ham bu dastlabki tozalash haqida bilaman, ammo samaraliroq yechim nima?

    • Ushbu dars jQuery da element atributlarini o'qish va o'zgartirishga bag'ishlangan. Atributlar - sarlavhadagi elementlarga tayinlangan nom/qiymat juftliklari.
    • Atributlarni qo'llash ( href

    sarlavha

    src

    sinf

    O'qilishi mumkin bo'lgan atribut qiymati

    Element atributining qiymatini o'qish oddiy.

    O'qish uchun atribut nomidan o'tgan elementni o'z ichiga olgan jQuery ob'ektida attr() usulini chaqirishingiz kerak.

    Usul atribut qiymatini aylantiradi:

    // # mylink elementi ogohlantirishining "href" atributining qiymatini ko'rsatish ($("a #mylink").attr("href"));

    Agar jQuery ob'ektingizda bir nechta elementlar bo'lsa, attr() usuli to'plamdagi birinchi elementdan tashqari atribut qiymatlarini o'qiydi.

    • Atribut qiymatlari o'rnatilishi mumkin attr() usuli atributlar qiymatini qo'shish yoki o'zgartirish uchun ham ishlatilishi mumkin: Yakshcho atributi Men uxlay olmayman elementda, kelajakda
    • Atribut qiymatlari o'rnatilishi mumkin qo'shimchalar Va unga ma'lum bir qiymat beriladi. Men allaqachon orzu qilyapman, nima muhim bo'ladi

    yangilangan

    1. Keling, qiymatlarni o'rnatamiz.
    2. Attributlarni qo'shish yoki o'zgartirish uchun attr() usulidan foydalanishning uchta usuli mavjud:
    3. Siz har qanday elementning (yoki elementlar to'plamining) atributlarini qo'shishingiz/o'zgartirishingiz mumkin.

    Atribut nomlari va qiymatlari xaritasini ko'rsatib, element (yoki elementlar) uchun rasmga bir qancha atributlarni qo'shishingiz/o'zgartirishingiz mumkin.

    Qo'shimcha aylantirish funksiyasidan foydalanib, bir nechta elementlar uchun bitta atributni dinamik ravishda qo'shishingiz/o'zgartirishingiz mumkin.

    Bitta atribut o'rnatilishi mumkin

    Element atributini o'rnatish yoki o'zgartirish uchun ko'rsatilgan atribut nomi va qiymatidan attr() usulini chaqirishingiz kerak.

    Masalan:

    // #myLink elementining "href" atributining qiymatini "http://www.example.com/" qiymatiga o'zgartiring // (agar "href" atributi mavjud bo'lmasa, u avtomatik ravishda yaratiladi. ) $("a#myLink").

    attr("href", "http://www.example.com/");

    Xuddi shu atributni bir nechta elementlar uchun ham o'rnatishingiz mumkin:

    Biz xaritaning wiki sahifalaridan bir qancha atributlarni o'rnatishimiz mumkin

    Har bir karta uchun bir yoki bir nechta element uchun bir vaqtning o'zida bir nechta atributlarni o'rnatishingiz mumkin.

    Ushbu nom/qiymat juftliklari ro'yxati quyidagicha ko'rinadi:

    (ism1: qiymat1, nom2: qiymat2, ...)

    Attribut qiymatlarini attr() usuliga o'tkazish o'rniga, siz nomni qaytarish funktsiyasiga o'tkazishingiz mumkin.

    Shunday qilib, elementning holatiga, boshqa atribut qiymatlariga yoki boshqa vakolatlarga qarab, bir nechta elementlar uchun atribut qiymatlarini dinamik ravishda o'rnatishingiz mumkin.

    • Aylantirish funksiyasi ikkita argumentni qabul qilishi mumkin:
    • To'plamning tanlangan elementi oqimining pozitsiyasi indeksi (noldan boshlanadi)

    Oqim tebranish elementi uchun eski atribut qiymati

    Funktsiya tomonidan aylantirilgan qiymat atribut qiymatini almashtirish uchun vikorizatsiya qilinadi. Elementning joriy holati va atributning eski qiymatiga qo'shimcha ravishda, sizning funksiyangiz qo'shimcha yordam uchun elementning o'ziga kirishni rad etishi mumkin. kalit so'z

    bu.

    Shunday qilib, siz har qanday quvvat turiga yoki qaytarish funksiyasiga ega element usuliga kirishni rad qilishingiz mumkin.

    Ilovada tasvir holati va src atributidagi sahifadagi teri tasviriga alt atributini qo'shish uchun qaytarish funksiyasi mavjud:

    Ushbu koddan so'ng birinchi rasmda "Malyunok 1: myphoto.jpg" qiymatlari bilan alt atributi, boshqa rasmda esa "Malyunok 2: yourphoto.jpg" qiymatlari bilan alt atribut mavjud.

    Atributni ko'ring

    Elementning atributini olib tashlash uchun siz olib tashlash atributining nomini ko'rsatib, removeAttr() usulini chaqirishingiz kerak.

    Masalan:

    // #myLink elementidan "title" atributini olib tashlang $("a#myLink").removeAttr("title");

    Shuningdek, jQuery ob'ektida bir qator elementlarni olib tashlaydigan removeAttr() usulini chaqirishingiz mumkin.

    • removeAttr() usuli atributni barcha elementlardan olib tashlaydi:
    • // Yuqoridagi "title" atributini olib tashlang $("a").removeAttr("title");
    • Rezyume; qayta boshlash
    • Ushbu dars jQuery element atributlari bilan qanday ishlashni ko'rib chiqdi: Atributlarning qiymatini o'qish Bitta atributni o'rnatish
    • Bir vaqtning o'zida turli xil atributlarni o'rnatish

    Mountain Lion-dan Catalina-ga Mac OS X-dan yangi flesh-disk yaratish bo'yicha qo'llanma