jQuery ກວດສອບ - ວິທິການ .is()
ກໍານົດຄວາມຈຳນວນ
ຈະຖືກກັບຄືນ false ຍ້ອນວ່າບັນຊີ input ມີພົມປົກກະຕິ ມີບັນຊີ p:
var isFormParent = $("input[type='checkbox']").parent();.is("form"); $("div").text("isFormParent = " + isFormParent);
ການອະທິບາຍ ແລະ ການນໍາໃຊ້
is() ຈະກວດສອບບັນຊີທີ່ຈະກວດສອບບັນຊີທີ່ຈະກວດສອບ, ບັນຊີຫຼັງທີ່ຈະມີຄວາມຈະແຈ້ງຕາມຄຳເວົ້າທີ່ໄດ້ໃຫ້, ຖ້າບັນຊີທີ່ມີຄວາມຈະແຈ້ງບໍ່ຫຼາຍຫຼືຫຼາຍກວ່າໜຶ່ງຈະກວດສອບບັນຊີທີ່ຈະກວດສອບ, ຈະຖືກກັບຄືນ true.
ວິທິການ
.is(selector)
ພວກມາດ | ການອະທິບາຍ |
---|---|
selector | ຄວາມພັນທະນາການຕາມຄຳເວົ້າທີ່ກວມມີບັນຊີທີ່ຈະກວດສອບປະກັນບັນຊີ. |
ການອະທິບາຍຫຼັກ
ຕະຫຼາດກັບການກວດສອບຄືນອື່ນໆ .is() ບໍ່ໄດ້ສ້າງບັນຊີ jQuery ອື່ນໆ. ແຕ່ວ່າມັນຈະອະນຸຍາດພວກເຮົາເພີ່ມຕົວຫຼັງວ່າບໍ່ໄດ້ດັດແປງບັນຊີ jQuery. ນີ້ຈະມີປະໂຫຍດພ້ອມທັງ callback ພາຍໃນ.
ສະນັບວ່າພວກເຮົາມີລາຍການທີ່ສອງບັນຊີທີ່ມີຫຼັງສັນນະພາບ:
<ul> <li>list <strong>item 1</strong></li> <li><span>list item 2</span></li> <li>list item 3</li> </ul>
ທ່ານສາມາດເພີ່ມຜູ້ຄົງຄອງ click ໃສ່ບັນຊີ <ul> ແລະຈັດການວ່າຈະກະຈັດການພຽງແຕ່ບັນຊີລາຍການຫຼືບັນຊີຫຼັງທີ່ຖືກຄົງຄອງບໍ່ແມ່ນບັນຊີຫຼັງ.
$("ul").click(function(event) { var $target = $(event.target); if ( $target.is("li") ) { $target.css("background-color", "red"); } });
ຕອນນີ້ໃນສະນະທີ່ຜູ້ນຳໃຊ້ຄົງຄອງຄະແນນບັນຊີ "list" ໃນບັນຊີທີ1ຂອງລາຍການລາຍການຫຼືບັນຊີທີສາມຂອງລາຍການໃດໜຶ່ງກໍ່ຈະຖືກກະຈັດໃຫ້ສະໜອງຫຼັງການເບິ່ງສີແດງ. ແຕ່ວ່າໃນການກະຈັດນີ້ບໍ່ມີການປ່ຽນແປງໃດໆຖ້າຜູ້ນຳໃຊ້ຄົງຄອງບັນຊີ "item 1" ໃນບັນຊີທີ1ຫຼືບັນຊີທີສອງຫຼືບັນຊີໃດໜຶ່ງຂອງບັນຊີທີ2ກໍ່ບໍ່ມີການປ່ຽນແປງໃດໆຍ້ອນວ່າໃນການກະຈັດນີ້ມີການຈັດການຄວາມສຳຄັນຕໍ່ກັບ <strong> ແມ່ນ <span>.
ທ່ານສົນໃຈວ່າ, ສໍາລັບ selector expression string ທີ່ມີ selector ທີ່ມີຈຸດທີ່, ເຊັ່ນ :first, :gt() ຫຼື :even, selector 位置ແມ່ນຕໍ່ສິ່ງ jQuery object ທີ່ສົ່ງໄປ .is(), ບໍ່ແມ່ນສໍາລັບເອກະສານ. ສໍາລັບ HTML ທີ່ກ່າວຂຶ້ນ, expression ຄື $("li:first").is("li:last") ກັບ true, ແຕ່ $("li:first-child").is("li:last-child") ກັບ false.
ການນຳໃຊ້ຕົວຊີວິດ
ການນຳໃຊ້ຮູບຈຳນວນທີສອງຂອງວິທີນີ້ແມ່ນການກວດສອບຄຳປະກອບທີ່ຕິດຕໍ່ກັບຕົວຊີວິດທີ່ບໍ່ແມ່ນ selector. ສໍາລັບແຕ່ລະສິ່ງ, ຖ້າຄຳປະກອບຕອບຮັບ true, .is() ກໍ່ຕອບຮັບ true. ຕົວຢ່າງ HTML snippet ທີ່ຫຼາຍກວ່າເທື່ອໜຶ່ງ:
<ul> <li><strong>list</strong> item 1 - one strong tag</li> <li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span></li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
ທ່ານສາມາດສົ່ງ click handler ໄປໃນແຕ່ລະ <li> ເພື່ອລາຍງານຈຳນວນ <strong> element ໃນ <li> ທີ່ຖືກກົດລະບຽບ:
$("li").click(function() { var $li = $(this), isWithTwo = $li.is(function() { return $('strong', this).length === 2; });; if ( isWithTwo ) { $li.css("background-color", "green"); } else { $li.css("background-color", "red"); } });