jQuery ການພອດພຽງ - find()
ຄວາມຈຳນວນ
ຊອກຫາປະກອບ span ທີ່ຢູ່ໃນຕົ້ນຂອງປະກອບ p, ແລະ ຈັດການສີສັນຍາວ່າ ສີສີນົມ.
$("p").find("span").css('color','red');
ການອະທິບາຍ ແລະ ການນໍາໃຊ້
find() ມີຄວາມຄິດຮູບຂອງພັດທະນາຂອງ jQuery, ຈະຈັດການພົບກັບປະກອບທີ່ພວກເຮົາສົ່ງໄປຫາ $() ຕາມຄຳນວຍຫາ, jQuery ໂອບຣອກ, ຫຼື ປະກອບ.
ວິທະຍາສາດ
.find(selector)
ພຽງພໍ | ອະທິບາຍ |
---|---|
selector | ຄູ່ມູນທີ່ເປັນຄຳນວຍຫາ, ບັນຈຸທີ່ຈະຈັດການກັບປະກອບປະກອບ. |
ອະທິບາຍຢ່າງລະອຽດ
ຖ້າມີ jQuery ໂອບຣອກທີ່ສະແດງຄວາມສະນັບສະນູນຂອງ DOM ປະກອບ, .find() ອະນຸຍາດພວກເຮົາທີ່ຈະຊອກຫາຫົວອອກຂອງພວກມັນໃນຕົ້ນມາຂອງ DOM, ແລະ ຈະສ້າງ jQuery ໂອບຣອກໃໝ່ຈາກປະກອບທີ່ຈະຕົກຮັບ. .find() ແມ່ນຄືກັບ .children() ຕາມຮູບແບບ, ແຕ່ວ່າ .children() ຈະຈັດການພາຍໃນລະດັບດຽວຂອງ DOM.
.find() ມີຜົນປະກອບທີ່ຈະກະທັ້ງກັບຄຳນວຍຫາທີ່ພວກເຮົາສົ່ງໄປຫາ $() ຕາມຮູບແບບ. ຈະພົບກັບຄຳນວຍຫາທີ່ພວກເຮົາສົ່ງໄປຫາ $() ເພື່ອຈັດການກັບປະກອບ.
ກະຕືລັງຄິດຂໍ້ມູນທີ່ລະບຸຄວາມລະອຽດນີ້:
<ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul>
ພວກເຮົາຈະເລີ່ມການຊອກຫາບັນດາບັນທຶກໃນລາຍການ II:
$('li.item-ii').find('li').css('background-color', 'red');
ຜົນຂອງການສຳລັບການສຳລັບການກວດສອບນີ້ແມ່ນວ່າບັນດາບັນທຶກ A, B, 1, 2, 3 ແລະ C ໄດ້ຖືກກະຕຸ້ມເປັນສີສີແດງຫຼັງການກະຕຸ້ມ. ເຖິງວ່າບັນດາບັນທຶກ II ໄດ້ຕິດຕາມ selector expression, ມັນຈະບໍ່ຖືກບັນຈຸມີໃນຜົນ; ຈະພຽງແຕ່ບັນດາພັນທະມິດພາຍໃນ
ທີ່ຕ່າງກັບວິທີການຊອກຫາຕົວເລກພາຍໃນຕົວແທນ, selector expression ສໍາລັບ .find() ແມ່ນຂໍ້ສັງເກດທີ່ຈຳເປັນ. ຖ້າພວກເຮົາຕ້ອງການຊອກຫາບັນດາພັນທະມິດພາຍໃນບັນດາພັນທະມິດພາຍໃນ, ພວກເຮົາສາມາດສົ່ງ wildcard selector '*'
context ຕໍ່ກັບ .find() ແມ່ນການດໍາເນີນງານ; ບັນດາ $('li.item-ii').find('li') ແມ່ນບໍ່ກົງກັນກັບ $('li', 'li.item-ii')
ສໍາລັບ jQuery 1.6ພວກເຮົາກໍ່ສາມາດໃຊ້ບັນດາບັນທຶກ jQuery ຫຼືສິ່ງໜຶ່ງສຳລັບການເລືອກ. ຍັງຢູ່ຂອງລາຍການທີ່ລວມມີການກັບຕົວຂອງພວກເຮົາກໍ່ໄດ້ຂຽນວ່າ:
var $allListElements = $('li');
ຫຼັງຈາກນັ້ນຈະສົ່ງບັນດາບັນທຶກ jQuery ຕໍ່ກັບວິທີການ find:
$('li.item-ii').find( $allListElements );
ວິທີການດັ່ງກ່າວນີ້ຈະກັບຄືນມາ jQuery ຄືນທີ່ບັນຈຸມີຕົວເລກຂອງອີກຫຼັງຂອງລາຍການ II
ຢ່າງປົກກະຕິນັ້ນກໍ່ສາມາດສົ່ງເສີມສິ່ງໜຶ່ງ
var item1 = $('li.item-1')[0]; $('li.item-ii').find( item1 ).css('background-color', 'red');
ຜົນຂອງການເກັບຂໍ້ມູນນີ້ແມ່ນອອກມາວ່າໂຄງການ 1 ໄດ້ຖືກກະຕຸ້ມເປັນສີສີແດງຫຼັງການກະຕຸ້ມ