2014-03-05 59 views
0

我有一個菜單,其中部分Store這有一個子類別的子類別PrintersKeyboards並在這些類別下,他們有自己的子類別。jQuery選擇頂級元素文本

我想要做的是選擇頂級類別PrintersKeyboards僅僅使用jQuery到Array

當我使用下面的它打印出["Printers", "Color", "Black/White", "Dual", "Keyboards", "Wired", "Wireless", "Touchscreen"]這是比我更需要從目前來看,可能有人幫助我

看看我jsFiddle

jQuery的

var optionTexts = []; 
$('.main-menu ul li a:contains("Store")').parent().find('.sub-menu > li a').each(function(){ 
     optionTexts.push($(this).text()); 
}); 
console.log(optionTexts); 
+0

你應該在'li'之後找到下面的'a',就像這樣:'.find('。sub-menu > li> a')' – Pavlo

回答

1

編輯我看着你的小提琴更近一點,並改變了發現正確的「a」標籤的方式:

'.sub-menu > li > ul > li > a'會做(我檢查你的jsfiddle):

$('.main-menu ul li a:contains("Store")').parent().find('.sub-menu > li > ul > li > a').each(function(){ 
    optionTexts.push($(this).text()); 
}); 

你所採取的方式,將「ul.sub菜單」下每次選擇 - 還有那些嵌套在兒童和「ul.sub-menu」的孫子們。

0

希望您正在尋找這樣的事情

var optionTexts = []; 
$('.main-menu ul li a:contains("Store")').parent().find('.sub-menu').parent('li').each(function(){ 
    optionTexts.push($(this).children('a').text()); 
}); 
console.log(optionTexts); 
0

我編輯你這樣的代碼,它的工作:

$(function() { 
    $(".check").on('click', function() { 
     var optionTexts = []; 
     $('.list > ul > li > a').each(function() { 
      optionTexts.push($(this).text()); 
     }); 
     c(optionTexts); 
    }); 
}); 

輸出:打印機,鍵盤

檢查它FIDDLE:http://jsfiddle.net/mehmetakifalp/Mkv9q/16/