2012-05-15 30 views
9

Cách tốt nhất (hiệu quả nhất, ít tải CPU) để chọn một số trẻ em nhất định từ tổ tiên với jQuery là gì?jQuery cấp đầu tiên cho trẻ em chọn cách tốt nhất

Hãy tưởng tượng rằng chúng ta có:

<div> 
<b>1</b> 
<p>2</p> 
<a>3</a> 
<p>2</p> 
</div> 

Vì vậy

$('div > p')

hoặc

$('div').children('p')

?

+2

Bạn đã thử điểm chuẩn chưa? –

Trả lời

10

Theo điều này jsPerf test Tôi vừa tạo $('div > p') nhanh hơn gấp đôi. Tôi không nghĩ rằng hai bộ chọn khác nhau trong các phần tử mà chúng lấy lại, vì vậy cái đầu tiên có thể được mong đợi hơn, ít nhất là từ một quan điểm hiệu năng.

+0

Cảm ơn bạn đã kiểm tra. Rất hữu ích. –

+0

Đừng lo lắng, hãy nhớ đánh dấu trang jsPerf, đây là công cụ bẻ khóa để chuẩn mã JavaScript. –

1

$('div > p') là tốt hơn và nhanh hơn cho trường hợp này

với cái này bạn đang phân tích các dom một thời gian để tìm chọn của bạn.

trong trường hợp khác bạn đang phân tích cú pháp hai lần: một để tìm phần tử div và một để tìm phần tử p vào div

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