Ориентация на итерации имени класса с помощью JS - PullRequest
1 голос
/ 24 января 2011

Я пытаюсь проанализировать данные JSON в определенные итерации имени класса "slide_content"

Чтобы получить что-то вроде этого:

slide_content[0]

Но JS не предоставляет getElementByClass() селектор.

Данные API находятся здесь: Преобразование прямого JS в JQuery

Ура! Myles

Ответы [ 2 ]

2 голосов
/ 25 января 2011

Новые браузеры (IE9 и выше) имеют поддержку для document.getElementsByClassName (что по иронии судьбы означает, что он имеет меньшую поддержку, чем querySelectorAll, но яотступить ...), но это, вероятно, не будет соответствовать вашим потребностям в совместимости.В этом случае вы можете использовать что-то вроде этого, чтобы получить массив узлов с классом.

var nodes = document.getElementsByTagName('*'),
    targetClass = 'myclass',
    result = [];

for(var i = 0, l = nodes.length; i < l; i++){
    if((nodes[i].className + ' ').indexOf(targetClass + ' ') !== -1){
        result.push(nodes[i]);
    }
}

Это не точный дубликат getElementsByClassName, поскольку эта функция возвращает NodeList, но она должна быть достаточно близко для большинства целей.

1 голос
/ 25 января 2011

Используйте jQuery. Это позволяет вам использовать $('.someClass') для извлечения всех элементов с данным именем класса.

Если по какой-то причине вы не можете использовать jQuery или другую библиотеку JS, просто используйте механизм выбора Sizzle, который также используется jQuery - это не очень большой код, поэтому вы можете даже скопировать и вставить его в один из файлов JS вашего проекта не делай этого, это уродливо: p). Но так как вы отметили свой вопрос с помощью jquery, я предполагаю, что вы можете использовать jQuery ...

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