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");
  }
});

ທ່ານຈະທົດລອງດຽວກັນ