jquery несколько селекторов для одного элемента - PullRequest
0 голосов
/ 19 февраля 2012

Я стремлюсь воздействовать на один элемент различными вариациями одной и той же функции.Я использовал id, class и a, но это кажется очень уродливым способом сделать это, и я в конечном итоге достигну предела селекторов.Мой код ниже, я хотел бы иметь более элегантный способ реализации этого с менее ограниченным количеством способов воздействовать на один элемент на странице.

РЕДАКТИРОВАТЬ: ниже приведены только части селектора кода.Элемент не может иметь более одного идентификатора или класса, поэтому, как бы я добавил 10 отдельных способов ссылки на один и тот же элемент, чтобы я мог делать с ним 10 разных вещей одновременно?

            <script>
            $(document).ready(function()
                    { 

            $('a[title]').qtip({ (...)
});


            $('#tooltip2').qtip({ (...)
});

            $('.myclass').qtip({ (...)
});

1 Ответ

3 голосов
/ 19 февраля 2012

Вы просто используете один и тот же селектор каждый раз ...

$('#tooltip2')

Нет причин, по которым вам нужно использовать другой селектор каждый раз, когда вы делаете что-то другое для элемента. Селектор - это просто способ идентифицировать нужный вам элемент в DOM.


Вы обновили вопрос. В исходном вопросе каждый используемый селектор имел в виду один и тот же элемент.

Вы добавили ...

"Элемент не может иметь более одного идентификатора или класса ..."

Элемент может иметь более одного класса.

" ... так как бы я добавил 10 отдельных способов ссылки на один и тот же элемент ..."

Вам не нужно по-разному выбирать один и тот же элемент, если вы действительно выбираете один и тот же элемент.

" ... чтобы я мог одновременно делать с ним 10 разных вещей"

То, как вы выбираете, действительно мало связано с тем, что вы с ним делаете. Если с вами хотят поговорить 10 разных людей, нужно ли каждому из них называть вас по-разному? Селектор - это просто средство , указывающее элемент, на который вы нацелены.


Если вам нужно работать с ним несколькими способами, лучше всего выбрать его один раз и кэшировать выбор ...

var tt2 = $('#tooltip2');

tt2.qtip(...);

tt2.qtip(...);

tt2.qtip(...);

Это потому, что выбор DOM - довольно дорогая операция. Лучше не делать это повторно, когда в этом нет необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...