jQuery Beginner - agar ushbu ifodani mantiqiy tushuntirib bering?

Men yaqinda jQuery o'rgatuvchi dasturidan o'tib ketganman va chindan ham tushunmagan narsalarni eslatuvchi odam shamollatishdi ... Skript va formatlash:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

  $("document").ready(function() {
      $("#example p").replaceWith(replacementFn);
  });

  function replacementFn() {
      if ($(this).text().indexOf("1") != -1) {
          return "
This is paragraph uno

"; } else { return this.outerHTML; } }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="example">
    
This is paragraph 1


This is paragraph 2


This is paragraph 3


This is paragraph 4


This is paragraph 5

</div>
</div> </div>

Bu erda tushunmaydigan narsadir "if ($ (this) .text() .Indekligim bu! =" Teng emas "va" biz har bir p elementiga 1 raqam uchun qarayapmiz, lekin men bu erda nimani anglatishini tushunmayapman va nima uchun bu so'zni to'g'ri deb ayta olaman deb o'ylayman.

O'qituvchining aytishicha, "bir" satrini ko'rib chiqamiz, va bu bir xil emas, ya'ni "topilgan" va keyin harakatlanadigan bo'ladi.

Ishonchim komilki, bu dasturchilar uchun juda aniq, lekin jQuery va Javascriptning ba'zi asoslarini olishga harakat qiladigan oldingi ishlab chiquvchim ko'p. Nisbatan murshid uchun mantiqiy bo'lishi mumkin bo'lgan har qanday tushuntirish juda qadrli!

1
Bunda internetni qidirish uchun dasturchi bo'lish shart emas. "jquery text ()" funksiyasi sizni nima qilishini oladi. "javascript indexOf" sizga taqdim etilgan @ j08691 havolasini oladi.
qo'shib qo'ydi muallif Mike McCaughan, manba
Bunda internetni qidirish uchun dasturchi bo'lish shart emas. "jquery text ()" funksiyasi sizni nima qilishini oladi. "javascript indexOf" sizga taqdim etilgan @ j08691 havolasini oladi.
qo'shib qo'ydi muallif Mike McCaughan, manba
Bunda internetni qidirish uchun dasturchi bo'lish shart emas. "jquery text ()" funksiyasi sizni nima qilishini oladi. "javascript indexOf" sizga taqdim etilgan @ j08691 havolasini oladi.
qo'shib qo'ydi muallif Mike McCaughan, manba
.indexOf() dan qaytib kelgan har qanday noan'anaviy son - bu topilgan indeks. -1 har qanday indeks topilmadi, chunki -1 har doim ham indeks oralig'idan tashqarida. (Texnik jihatdan barcha salbiy sonlar har doim indeks oralig'idan tashqarida bo'ladi, lekin -1 qoidalar yordamida ishlatiladi.)
qo'shib qo'ydi muallif David, manba
.indexOf() dan qaytib kelgan har qanday noan'anaviy son - bu topilgan indeks. -1 har qanday indeks topilmadi, chunki -1 har doim ham indeks oralig'idan tashqarida. (Texnik jihatdan barcha salbiy sonlar har doim indeks oralig'idan tashqarida bo'ladi, lekin -1 qoidalar yordamida ishlatiladi.)
qo'shib qo'ydi muallif David, manba
qo'shib qo'ydi muallif j08691, manba
qo'shib qo'ydi muallif j08691, manba
.indexOf() funktsiyasi magistralda qidirish maqsadini topmasa, -1 funksiyasini qaytaradi.
qo'shib qo'ydi muallif Pointy, manba

12 javoblar

yilda $ (bu) .text() indexOf ( "1") . -

  1. $(this) is selector from jQuery
  2. .text() jQuery function selects text (not html) from the selection (point 1)
  3. .indexOf("1") JavaScript core function finds the position of 1 in the selected text (point 2) [1 is present in the first paragraph] (If indexOf("Find_What") does not finds what we ask, it returns -1.

Asosan indexOf mag'lubiyatdagi matning indeksini qaytaradi va u 0, 1 bo'lishi mumkin ...

Misol uchun-

"1-bandiga" .indexOf ( "1");

IndexOf ("1") birinchi holatidek 0 ga qaytadi.

"

paragraph 1

".indexOf("1") In this case it will return 13.

Shunday qilib, -1 ishonchli tarzda "1" (mos kelmasligi) satrida yo'qligi uchun ishonchlidir.

PS- Bundan tashqari, indexOf JavaScript-da mag'lubiyatga biror narsani qidirish uchun tezroq va afzal qilingan funksiya.

Here you can quench your thirst for more knowledge of 'indexOf'.

4
qo'shib qo'ydi
@Barry indexOf ishlab chiqaruvchilar orasida afzal ko'riladi va sevimli usul hisoblanadi. :)
qo'shib qo'ydi muallif Vishal Kumar Sahu, manba
OK Men uchun bu tozalaydi rahmat (va boshqa javoblar). jQuery tanlovi va shunga o'xshash narsalarni tushundim, agar topilmasa indexOf() funktsiyasini qaytaradi -1, agar "1" ko'rsatkichi "topilmasa", unda mantiqiy emas! Barchaga xursandchilik.
qo'shib qo'ydi muallif Barry, manba

yilda $ (bu) .text() indexOf ( "1") . -

  1. $(this) is selector from jQuery
  2. .text() jQuery function selects text (not html) from the selection (point 1)
  3. .indexOf("1") JavaScript core function finds the position of 1 in the selected text (point 2) [1 is present in the first paragraph] (If indexOf("Find_What") does not finds what we ask, it returns -1.

Asosan indexOf mag'lubiyatdagi matning indeksini qaytaradi va u 0, 1 bo'lishi mumkin ...

Misol uchun-

"1-bandiga" .indexOf ( "1");

IndexOf ("1") birinchi holatidek 0 ga qaytadi.

"

paragraph 1

".indexOf("1") In this case it will return 13.

Shunday qilib, -1 ishonchli tarzda "1" (mos kelmasligi) satrida yo'qligi uchun ishonchlidir.

PS- Bundan tashqari, indexOf JavaScript-da mag'lubiyatga biror narsani qidirish uchun tezroq va afzal qilingan funksiya.

Here you can quench your thirst for more knowledge of 'indexOf'.

4
qo'shib qo'ydi
@Barry indexOf ishlab chiqaruvchilar orasida afzal ko'riladi va sevimli usul hisoblanadi. :)
qo'shib qo'ydi muallif Vishal Kumar Sahu, manba
OK Men uchun bu tozalaydi rahmat (va boshqa javoblar). jQuery tanlovi va shunga o'xshash narsalarni tushundim, agar topilmasa indexOf() funktsiyasini qaytaradi -1, agar "1" ko'rsatkichi "topilmasa", unda mantiqiy emas! Barchaga xursandchilik.
qo'shib qo'ydi muallif Barry, manba

yilda $ (bu) .text() indexOf ( "1") . -

  1. $(this) is selector from jQuery
  2. .text() jQuery function selects text (not html) from the selection (point 1)
  3. .indexOf("1") JavaScript core function finds the position of 1 in the selected text (point 2) [1 is present in the first paragraph] (If indexOf("Find_What") does not finds what we ask, it returns -1.

Asosan indexOf mag'lubiyatdagi matning indeksini qaytaradi va u 0, 1 bo'lishi mumkin ...

Misol uchun-

"1-bandiga" .indexOf ( "1");

IndexOf ("1") birinchi holatidek 0 ga qaytadi.

"

paragraph 1

".indexOf("1") In this case it will return 13.

Shunday qilib, -1 ishonchli tarzda "1" (mos kelmasligi) satrida yo'qligi uchun ishonchlidir.

PS- Bundan tashqari, indexOf JavaScript-da mag'lubiyatga biror narsani qidirish uchun tezroq va afzal qilingan funksiya.

Here you can quench your thirst for more knowledge of 'indexOf'.

4
qo'shib qo'ydi
@Barry indexOf ishlab chiqaruvchilar orasida afzal ko'riladi va sevimli usul hisoblanadi. :)
qo'shib qo'ydi muallif Vishal Kumar Sahu, manba
OK Men uchun bu tozalaydi rahmat (va boshqa javoblar). jQuery tanlovi va shunga o'xshash narsalarni tushundim, agar topilmasa indexOf() funktsiyasini qaytaradi -1, agar "1" ko'rsatkichi "topilmasa", unda mantiqiy emas! Barchaga xursandchilik.
qo'shib qo'ydi muallif Barry, manba
if ($(this).text().indexOf("1") != -1)

Agar argument sifatida berilgan satr qidirilayotgan satrda topilmasa va , qidirilayotgan qatorni qidirish satrining ichida joylashgan bo'lsa, JavaScript kodi indexOf() qaytadi -1 .

Ko'p tillarda bo'lgani kabi, JavaScript da nol asoslangan indekslarni qo'llaydi, shuning uchun 0 ning qaytib qiymati "1" izlanadigan mag'lubiyatning boshida sodir bo'ladi.

1
qo'shib qo'ydi
if ($(this).text().indexOf("1") != -1)

Agar argument sifatida berilgan satr qidirilayotgan satrda topilmasa va , qidirilayotgan qatorni qidirish satrining ichida joylashgan bo'lsa, JavaScript kodi indexOf() qaytadi -1 .

Ko'p tillarda bo'lgani kabi, JavaScript da nol asoslangan indekslarni qo'llaydi, shuning uchun 0 ning qaytib qiymati "1" izlanadigan mag'lubiyatning boshida sodir bo'ladi.

1
qo'shib qo'ydi

IndexOf() funktsiyasi dastlabki qidirilayotgan pastki satrda joylashgan joyni qaytaradi va substring paydo bo'lmaganda -1ni qaytaradi.

Ushbu misolda, matn (). IndexOf ("1") 1 birinchi paydo bo`lgan joyni qaytaradi. Agar 1 mavjud bo'lmasa, indexOf() funksiyasi -1 qaytaradi.

1
qo'shib qo'ydi

IndexOf() funktsiyasi dastlabki qidirilayotgan pastki satrda joylashgan joyni qaytaradi va substring paydo bo'lmaganda -1ni qaytaradi.

Ushbu misolda, matn (). IndexOf ("1") 1 birinchi paydo bo`lgan joyni qaytaradi. Agar 1 mavjud bo'lmasa, indexOf() funksiyasi -1 qaytaradi.

1
qo'shib qo'ydi

replaceFn funktsiyasi $ (this) .text() (element matni deb ataladi) tarkibida "1" .indexOf ("1") va agar u qaytarsa ​​ "

Bu paragraf uno

"

when indexOf() value equals -1 this means it didn't find a match so we want it to not be equals to -1 aka != -1

qaytib kelgan mag'lubiyatga mos keladigan elementning matni uchun jQuery-ning .replaceWith() tomonidan ishlatiladi. .

0
qo'shib qo'ydi

replaceFn funktsiyasi $ (this) .text() (element matni deb ataladi) tarkibida "1" .indexOf ("1") va agar u qaytarsa ​​ "

Bu paragraf uno

"

when indexOf() value equals -1 this means it didn't find a match so we want it to not be equals to -1 aka != -1

qaytib kelgan mag'lubiyatga mos keladigan elementning matni uchun jQuery-ning .replaceWith() tomonidan ishlatiladi. .

0
qo'shib qo'ydi

Keling ushbu qismni butunlay ishlaymiz, shuning uchun uni yaxshiroq tushunishingiz mumkin.

Buni ko'rib turganingizdek, $ (document) .ready() chaqiruvi - bu butun sahifaning yuklangan-bo'lmaganligini tekshiradi va agar shunday bo'lsa, argument sifatida qabul qilingan funktsiyani bajaradi.

That function consist of searching for DOM nodes (you can understand them as HTML elements for now, but it's a bit more complex) that can be described by the #example p selector - basically, this means that the $('#example p') call will return all

elements that are contained in an element with an id of example.

Keyinchalik, .replaceWith() zanjirli usul chaqiruvi mavjud. parametr sifatida funksiya oladi. Bu zanjirlangan usul chaqiruvi, uni argument sifatida unga berilgan narsalar bilan chaqirilgan elementlarning tarkibini o'zgartiradi. Bunday holda, bizning parametr funktsiyasi qaytib keladi.

replaceFn funktsiyasi kontentni izlaydi ( .text() ), $ (this) sifatida qabul qilingan yuqoridagi DOM tugunlarining .indexOf() metodi bilan yuborilgan belgini izlayotgan qatorni izlaydi -1 qatori topilmasa yoki -1 dan kattaroq tamsayı bo'lsa-da, ketma-ketlik topilgan bo'lsa, bu holda, qaytarilgan raqam - izlanadigan ketma-ketlikning boshlanadigan dizayni.

replaceFn -ga qaytib, u o'tgan DOM tugunlarining matn tarkibini izlaydi va u 1 belgisini (agar .indexOf() -1 dan katta bo'lsa), u tugun tarkibini

Bu paragraf uno

ga o'zgartiradi.

Agar tugun 1 belgini (ya'ni .indexOf() usulini -1 ) qaytara olmasa) tugunni .replaceWith() usuli hech narsa qilmasligi uchun uning mavjud tarkibini qaytarib beradi.

Umid qilamanki, hozir uni olasiz - agar sizga biror narsa aniq bo'lmasa, sharhlar orqali menga xabar bering.

Tegishli havolalar:

http://api.jquery.com/replacewith/

http://api.jquery.com/text/

https://developer.mozilla.org/pl/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf/

0
qo'shib qo'ydi

indexOf "1" mavjud bo'lgan joyni qaytaradi. IndexOf ("1") "T0", "h1", "i2", "s3", "4", "i5", "s6", "7", "p8", "a9" 'r10', 'a11', 'g12', 'r13', 'a14', 'p15', 'h16', '17 ',' 118 ' 1 satrda mavjud bo'lmaganligi sababli, u boshqa satrlarga -1 qaytariladi

0
qo'shib qo'ydi
return 18 bilan nimani anglatadi? Javobingiz biz kutgan narsaga mos kelmaydi. Kimdir sizga -1 qaytishi mumkin. : D
qo'shib qo'ydi muallif Vishal Kumar Sahu, manba

indexOf "1" mavjud bo'lgan joyni qaytaradi. IndexOf ("1") "T0", "h1", "i2", "s3", "4", "i5", "s6", "7", "p8", "a9" 'r10', 'a11', 'g12', 'r13', 'a14', 'p15', 'h16', '17 ',' 118 ' 1 satrda mavjud bo'lmaganligi sababli, u boshqa satrlarga -1 qaytariladi

0
qo'shib qo'ydi
return 18 bilan nimani anglatadi? Javobingiz biz kutgan narsaga mos kelmaydi. Kimdir sizga -1 qaytishi mumkin. : D
qo'shib qo'ydi muallif Vishal Kumar Sahu, manba
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb