jQuery - выбор элемента и метод ready (), позволяющий избежать дублирования селекторов - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь разобраться с дублированными селекторами в jQuery. Давайте использовать этот пример, где скрипт загружается в <head>, поэтому он загружается до того, как структура DOM будет.

var element = $(".element"); //Here, the element is null or length is 0

//element is null so ready method is not executing
element.ready(function(){

});

Теперь, если я выберу элемент следующим образом, я бы дублировал селектор:

$(".element").ready(function(){
   . . .
   someFunction();
   . . .
});

function someFunction(){
   $(".element").method(); //Selector duplicated here because I already used it in ready() method.
}

Как можно избежать дублирования селекторов, используя приведенные выше примеры?

1 Ответ

1 голос
/ 14 июня 2019

Не уверен, правильно ли я вас понял, но, возможно, попробуйте передать элемент в функцию?

$(".element").ready(function(){
   someFunction($(this));
});

function someFunction($el){
   $el.method();
}

Кроме того, как сказал @madalinivascu, метод ready в элементе довольно необычен, это ваш lib или пользовательский метод?

...