我有一个包含Store
部分的菜单,其中包含类别Printers
Keyboards
的子菜单,在这些类别下,它们有自己的子类别。
我要做的是在Printers
中仅使用jQuery选择Keyboards
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 :(得分:1)
'.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-menu”下面的每一个 - 也就是嵌套在“ul.sub-menu”的子孙中的那些。
答案 1 :(得分: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);
答案 2 :(得分:0)
我像这样编辑你的代码,它起作用了:
$(function () {
$(".check").on('click', function () {
var optionTexts = [];
$('.list > ul > li > a').each(function () {
optionTexts.push($(this).text());
});
c(optionTexts);
});
});
输出:打印机,键盘