2013-10-03 2 views
1

Если вы кешируете элементы с javascript, что более эффективно?использует find() в этом простом случае overkill?

HTML 
<div id="parent"> 
    <div id="child"></div> 
</div> 

Javascript: 

var parent = $('#parent'); 
var child = $('#child'); 

или

var parent = $('#parent'); 
var child = $(parent).find('#child'); 

Является ли один лучше другого? Или лучше? Я пишу много кода, как это, и в настоящее время я использую find() для получения определенных элементов родителей, которые уже кэшированы.

Благодаря

+3

Когда вы используете идентификаторы, и нет конкретной логики, необходимой для выбора, выберите первый. Также второй подход может быть просто 'parent.find ('# child');' – PSL

+0

Спасибо за это, очень полезно :) – user2413333

ответ

1

Как говорит @PSL как ид, первый лучше, но с классами, то второй будет быстрее, потому что тогда вам не придется искать весь документ .child вы просто должны искать в #parent

Кроме того, вы можете пойти:

var child = parent.find('#child'); 

вместо

var child = $(parent).find('#child'); 
+0

Замечательно! Большое спасибо – user2413333

Смежные вопросы