Я использую этот селектор jQuery несколько раз в моем JSP:
$("#customers tbody tr td input[type='checkbox'][name='selectedCustomers']")
Решение, которое я нашел в некоторых блогах, это то, что я должен сделать в первую очередь:
var customer=$('#customers')
И затем используйте вышеуказанный объект клиента для дальнейших вызовов.
customer.find("tbody tr td input[type='checkbox'][name='selectedCustomers']")
Мой вопрос в том, поможет ли это решение и почему?
Мое понимание
Когда я делаю
$("#customers tbody tr td input[type='checkbox'][name='selectedCustomers']")
jQuery внутренне сначала получит объект, связанный с div id="customers"
(by document.getElementById( "клиенты" )), а затем перейдет к указанному
checkbox
. И если я пойду по предлагаемому решению, то document.getElementById("customers")
будет запущен только один раз, а остальные будут одинаковыми. Поэтому я спасаю себя от ненужного множественного document.getElementById
, но остальное будет таким же. Правильно ли я понимаю? Если да, то, насколько мне известно, document.getElementById
более дорогостоящая операция?
EDIT: -
Я не использую только выше указанного селектора несколько раз, но также и другой возможный селектор под div id = "клиент". Поэтому вопрос снова заключается в том, что разница в производительности, если я сначала кэширую объект клиента, и если я этого не делаю?