Преобразование строки в Jquery - PullRequest
0 голосов
/ 04 июля 2011

У меня есть эта строка Javascript, которая запускает функцию, которую я нашел в Интернете. Однако оказывается, что он не совместим, то есть я собираюсь преобразовать его в вызов Jquery.

У меня нет абсолютно никакого опыта работы с Jquery, и хотя документация хорошая, мне нужно понять, как заставить его работать с уже существующим Javascipt.

classElements[i] = document.getElementsByClassName(show_hide_class_selectors[i]);

Я нашел селектор класса в http://api.jquery.com/class-selector/, который, кажется, делает то, что я хочу.

Если я использовал эту строку (show_hide_class_selectors [я] является строкой)

classElements[i] = $("." + show_hide_class_selectors[i]);

Будет ли classElements [i] содержать все узлы класса, предоставляемые show_hide_class_selectors [i]?

Я спрашиваю сейчас, чтобы я не тратил следующие 2 часа на скачивание, переписку, а потом злился на это.

Ответы [ 3 ]

5 голосов
/ 04 июля 2011

Да, $(".foo") вернет все узлы, имеющие класс foo, но обернутые в объект jQuery.

Если вы просто хотите получить простой массив элементов DOM, вам нужно будет сделать $(".foo").get().

0 голосов
/ 04 июля 2011

Что вам нужно, это:

classElements[i] = [];
$("." + show_hide_class_selectors[i]).each(function(index) {
    classElements[i].push(this);
});

После этого classElements[i] будет содержать все элементы, имеющие класс, определенный в массиве show_hide_class_selectors - тот же результат, что и в вашем не кросс-браузерном коде.

0 голосов
/ 04 июля 2011
$('.className')

Это вернет список всех элементов с классом «className».Также:

$('.className').show()
$('.className').hide()
$('.className').toggle()

Показать все эти элементы // скрыть их // и переключаться между.

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