jQuery วนลูป - วิธี not()

ตัวอย่าง

ลบปารากราฟที่มี id ว่า "selected" ออกจากชุดที่มีทุกปารากราฟ:

$("p").not("#selected")

ลองทดลองด้วยตัวเอง

คำนิยามและวิธีใช้

not() ลบออกสมาชิกจากชุดที่สนับสนุน.

รูปแบบภาษา 1

.not(selector)
ประกาศ รายละเอียด
selector ค่าข้อความ ประกอบด้วยการแสดงเลือกตัวแทนที่ใช้ตรวจสอบองค์ประกอบ

รูปแบบภาษา 2

.not(element)
ประกาศ รายละเอียด
element หนึ่งหรือหลายตัวแทน DOM ที่ต้องการลบจากชุดตัวแทนที่ตรงกับ

รูปแบบภาษา 3

.not(function(index))
ประกาศ รายละเอียด
function(index) ฟังก์ชันที่ใช้ตรวจสอบแต่ละองค์ประกอบของชุด; this คือองค์ประกอบ DOM ในตอนนี้

รายละเอียด

ถ้ามี jQuery วิธีที่แสดงว่าเป็นชุดองค์ประกอบ DOM วิธี .not() จะสร้าง jQuery วิธีใหม่ด้วยชุดตัวแทนที่ตรงกับองค์ประกอบที่ตรงกับเลือกตัวแทน; ตัวแทนที่ไม่ตรงกับเลือกตัวแทนจะถูกทำให้เข้าไปในผลลัพธ์

คิดฟิจน์เพื่อหน้านี้ที่มีรายการที่เรียบง่าย:

<ul>
  <li>รายการที่ 1</li>
  <li>รายการที่ 2</li>
  <li>รายการที่ 3</li>
  <li>รายการที่ 4</li>
  <li>รายการที่ 5</li>
</ul>

เราสามารถใช้วิธีนี้สำหรับชุดองค์ประกอบรายการ:

$('li').not(':even').css('background-color', 'red');

ลองทดลองด้วยตัวเอง

ผลลัพธ์ของการเรียกใช้ครั้งนี้จะทำให้องค์ประกอบ 2 และ 4 มีพื้นหลังสีแดง เพราะมันไม่ตรงกับเลือกตัวแทน (จำแนกความรู้สึกด้วย:even และ :odd ใช้ตัวเลขที่เริ่มต้นที่ 0)

ลบองค์ประกอบเฉพาะ

เวอร์ชันที่สองของวิธี .not() อนุญาตให้เราลบองค์ประกอบจากชุดตัวแทน ซึ่งเป็นการหาองค์ประกอบดังกล่าวด้วยวิธีอื่นๆ ก่อนหน้านี้

<ul>
  <li>รายการที่ 1</li>
  <li>รายการที่ 2</li>
  <li id="notli">รายการที่ 3</li>
  <li>รายการที่ 4</li>
  <li>รายการที่ 5</li>
</ul>

เราสามารถใช้ฟังก์ชัน JavaScript โครงสร้าง getElementById() อ่านองค์ประกอบรายการที่สาม และลบมันออกจากองค์ประกอบ jQuery:

$('li').not(document.getElementById('notli')).css('background-color', 'red');

ลองทดลองด้วยตัวเอง

ประโยคนี้เปลี่ยนสีพื้นหลังขององค์ประกอบ 1, 2, 3 และ 5 สีเทา สามารถทำได้ด้วย jQuery แสดงเชิงรวมที่เรียบง่าย แต่เทคนิคนี้มีประโยชน์มากเมื่อเทียบกับคลาสเดียวกับที่ให้ความสำคัญกับองค์ประกอบ DOM แบบเดียว

สำหรับ jQuery 1.4 วิธี .not() สามารถใช้ฟังก์ชันเป็นตัวอุปกรณ์ เช่นเดียวกับ .filter() ฟังก์ชันที่กลับค่า true จะหากเอาออกจากชุดตัวแทนที่ถูกกรอง; ชุดอื่นทั้งหมดจะถูกทำให้เข้าไปด้วย