#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-й блок кода. Попробуйте.