2010-02-11 27 views

Trả lời

23

Bạn có thể đơn giản hóa mã của bạn để:

$('div:has(> object)').css('text-align', 'center'); 
+3

Bộ chọn '$ (" whatever_1: has (> whatever_2) ")' hoạt động để lọc theo con trực tiếp. '$ (" whatever_1 "). có ("> whatever_2 ")' thì không. Hai kỹ thuật tương đương _not_. – Zarepheth

+0

Tôi khá chắc chắn có một giá Nobel ở đâu đó ở Na Uy chờ đợi người đã phát minh ra jQuery để nhặt nó lên. Tôi yêu jQuery! – user35443

+0

@Zarepheth tại sao không? – TWiStErRob

8

Sử dụng :has selector:

$("div:has(> object)").css("text-align", "center"); 

Dưới đây là một ví dụ tôi đã viết lên:

$(function() { 
 
    $("div:has(> h3)").css("background", "yellow"); 
 
});
div { padding: 15px; border: 1px solid black; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<div> 
 
    <h2>outer</h2> 
 
    <div> 
 
    <h3>inner</h3> 
 
    </div> 
 
</div>

+0

Tuyệt vời, cảm ơn! –

+0

Làm thế nào điều này sẽ được thực hiện với ['.has()'] (http://api.jquery.com/has/)? – ahsteele

Các vấn đề liên quan