jquery, чтобы получить ссылку и текст на основе класса - PullRequest
0 голосов
/ 04 июня 2010

Я пытаюсь использовать jquery, чтобы получить всю ссылку в зависимости от ее класса.

Вот мой код:

<ul class="vm_catTigra">
  <li><a class="mainlevel" href="/index.php&amp;category_id=6">AAAAA</a></li>
  <li><a class="mainlevel" href="/index.php&amp;category_id=10">BBBBB</a></li>
  <li><a class="sublevel" href="/index.php&amp;category_id=11">CCCCC</a></li>
  <li><a class="sublevel" href="/index.php&amp;category_id=12">DDDDD</a></li>
  <li><a class="mainlevel" href="/index.php&amp;category_id=13">EEEEE</a></li>
</ul>

Вот что я хочу, чтобы jquery захватил для меня (в массиве):

<a class="mainlevel" href="/index.php&amp;category_id=6">AAAAA</a>
<a class="mainlevel" href="/index.php&amp;category_id=10">BBBBB</a>
<a class="mainlevel" href="/index.php&amp;category_id=13">EEEEE</a>

Я пытался использовать это:

var mainlevel = [];
jQuery(".mainlevel").each(function() { 
  mainlevel.push(jQuery(this).html());
});

Но я получаю AAAAA, BBBBB, EEEEE вместо полной строки кода.

Ответы [ 3 ]

5 голосов
/ 04 июня 2010

Вы можете сделать это, используя .map() и .html(), например:

var linkArray = $("a.mainlevel").map(function() {
    return $(this).parent().html();
}).get()​​​​​​;

Вы можете посмотреть рабочую демонстрацию здесь , .get() в конце делает это так, что вы получите объект собственного массива в конце ... это приведет к массиву из 3 строк, как ваш вопрос :)

2 голосов
/ 04 июня 2010

Как это:

$('a.mainlevel')

Или, если их больше на странице и вам нужны только те из этого списка:

$('.vm_catTigra a.mainlevel')

Вы должны прочитать документацию .

0 голосов
/ 04 июня 2010

вы можете выполнять итерации в каждом li и получать innerhtml, а затем сохранять их в массиве как это.

var arr = ""; 
var arr_i = 0;
$(".mainlevel parent").each(function(){
  arr[arr_i] = $(this).html();
  arr_i++;
});

надеюсь, это поможет

...