2011-02-02 34 views
7

Tôi có html sau:Chọn html bên trong một selector JQuery

<div id="ctl00_m_g_f660033c_e200_4bff_b244_b574efe5b9b5"> 
    <ul style="margin-left: 0px"> 
     <li id="li5"><a href="#">T, Paul</a> </li> 
     <li id="li4"><a href="#">People**R, Jesse</a> </li> 
     <li id="li1"><a href="#">Animals**El Guapo</a> </li> 
     <li id="li2"><a href="#">Animals**Sasha</a> </li> 
     <li id="li3"><a href="#">People**G, Jenice</a> </li> 
    </ul> 
</div> 

Tôi muốn chỉ chọn (li) các yếu tố có chứa ** trong văn bản bên trong. Tôi có thể kiểm tra điều này trong JQuery bằng cách sử dụng mã sau:

if ($(this).html().indexOf('**') == -1) 
    { return; } 

Tuy nhiên, tôi muốn thực hiện việc này trong bộ chọn JQuery để tránh phân tích cú pháp không cần thiết. Tôi có thể sử dụng một cái gì đó như thế này để phù hợp trên các lĩnh vực id:

$('ul li a[id*='**']') 

.. nhưng tôi đã không thể tìm ra cách để phù hợp trên html() trong (a) phần tử trong chọn JQuery. có khả năng làm cái này không?

Cảm ơn trước

Trả lời

8

Bạn có thể đạt được điều này với :contains() selector. Trong đoạn mã này, bạn sẽ viết:

$("ul li a:contains('**')") 
12

Bạn đang tìm kiếm bộ chọn :contains.

ví dụ:

$('ul li:contains(**)') 
Các vấn đề liên quan