сохранить класс ajax в переменной — jquery

#jquery #jquery-ui #jquery-selectors

#jquery #jquery-пользовательский интерфейс #jquery-селекторы

Вопрос:

У меня есть 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:

Вы можете использовать .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] .

Живой пример: http://jsfiddle.net/CRFft /

Комментарии:

1. можете ли вы сказать мне, как получить класс на этом примере abeautifulsite.net/blog/2008/03/jquery-file-tree

2. @blasteralfred: У вас должен сработать 1-й блок кода. Попробуйте.