jQuery 遍历 - has() 方法

实例

检测某个元素是否在另一个元素中:

$("ul").append("
  • " + ($("ul").has("li").length ? "Yes" : "No") + "
  • "); $("ul").has("li").addClass("full");

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

    定义和用法

    has() 将匹配元素集合缩减为拥有匹配指定选择器或 DOM 元素的后代的子集。

    语法

    .has(selector)
    参数 描述
    selector 字符串值,包含匹配元素的选择器表达式。

    รายละเอียด

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

    คิดถึงหน้านี้ที่มีรายการรายการที่มีรายการลูก:

    <ul>
      <li>รายการรายการ 1</li>
      <li>รายการรายการ 2</li>
        <ul>
          <li>รายการรายการ 2-a</li>
          <li>รายการรายการ 2-b</li>
        </ul>
      </li>
      <li>รายการรายการ 3</li>
      <li>รายการรายการ 4</li>
    </ul>
    

    เราสามารถนำวิธีนี้มาใช้กับชุดรายการรายการเช่นนี้:

    $('li').has('ul').css('background-color', 'red');
    

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

    ผลลัพธ์ของการเรียกใช้คือ สีพื้นหลังของโครงการ 2 ถูกตั้งเป็นสีแดง นี้เพราะโครงการนี้เป็นตัวเดียวในหลักที่มี <ul> ใน <li> ที่เป็นหลักทางหลัง