2010-06-04 65 views
0

我想使用jquery抓取整個鏈接,取決於它的類。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搶我東西(在一個陣列):

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

<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> 

我一直在使用這種嘗試但它正在回退AAAAA,BBBBB,EEEEE而不是我之後的全部代碼。

+0

我一直在尋找什麼,我試圖acheive,我可以得到最好的是AAAAA,BBBBB,EEEEEE。不是數組中的整個行。 Hense來這裏尋求幫助。 – SoulieBaby 2010-06-04 01:25:37

回答

5

可以使用.map().html()這樣做:

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

You can view a working demo here,在.get()上月底使得它,所以你在最後得到了原生數組對象......這將導致3字符串數組就像你的問題:)

+0

這就是我所追求的!非常感謝你:) – SoulieBaby 2010-06-04 01:29:18

+0

+1和Jsfiddle看起來比Jsbin好,所以謝謝! – alex 2010-06-04 01:33:18

2

像這樣:

$('a.mainlevel') 

或者,如果有更多的頁面上,你只需要在該列表中的那些:

$('.vm_catTigra a.mainlevel') 

你應該有documentation的讀取。

+0

對不起,我需要一個數組 – SoulieBaby 2010-06-04 01:24:37

+0

它是一個數組。 $('a.mainlevel')返回一個長度爲3的數組,其中包含所有3個錨元素。你可以在$('a.mainlevel')[0],$('a.mainlevel')[1],$('a.mainlevel')[2] – 2010-06-04 01:28:52

+0

@John - If我理解正確,她希望整個鏈接的html字符串,所以1x3的字符串數組,而不是元素....我可能是錯的。 – 2010-06-04 01:30:39

0

你可以迭代每個李並獲得innerhtml然後將它們存儲在一個數組 像這樣。

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

希望這有助於

+1

這是無效的JavaScript語法或jQuery :) – 2010-06-04 01:33:34

+0

aha ..對不起..忘記引號 – Jrubins 2010-06-04 01:39:06

+1

您的'arr'是一個字符串,不是數組,也是'.each()'閉包函數已經獲得一個索引,它是傳遞給函數的第一個參數,可以簡化爲:var arr = []; $(「。mainlevel」)。each(function(i){arr [i] = $(this).html();});',但是'parent'不是一個有效的選擇器(它會查找' '錨內的元素),您需要訪問循環中的父項,您可以看到我的答案,以便如何執行此操作。 – 2010-06-04 01:42:03