хранить класс ajax в переменной - jquery - PullRequest
0 голосов
/ 05 апреля 2011


У меня есть php-файл file.php, который возвращает

<ul class="class1">
    <li class="class2"><a href="#" rel="">file</a></li>
    <li class="class3"><a href="#" rel="">file</a></li>
</ul>

, вызванный моим JavaScript

<script type="text/javascript">
$(document).ready( function() {
        $('#list').fileTree({ root: 'docs/',
                              script: 'file.php',
                              },
                        function(file) {
                                open(file);
                        });
});
</script>

для использования внутри <div id="list">

Я хочу хранить возвращенные class1, class2 и class3 (они различаются) в отдельной переменной в моем JavaScript.Как я могу сделать это возможным?

Заранее спасибо ... :)

blasteralfred

1 Ответ

0 голосов
/ 05 апреля 2011

Вы можете использовать .map(), чтобы получить массив классов.

Как только ul окажется внутри <div id="list">, вы можете сделать это:

var classes = $('ul,li', '#list').map(function(i,v){
  return $(v).attr('class');
}).get();

Вы также можете запустить .map() в строке HTML:

var html = '<ul class="class1"><li class="class2"><a href="#" rel="">file</a></li><li class="class3"><a href="#" rel="">file</a></li></ul>';

var classes = $(html).add('li', html).map(function(i, v) {
    return $(v).attr('class');
}).get();

В обоих случаях classes будет массивом: [class1, class2, class3].

Live Пример: http://jsfiddle.net/CRFft/

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