【发布时间】:2013-06-20 15:31:09
【问题描述】:
我的 CodePen: http://codepen.io/leongaban/pen/IGcBa
我有一个包含 5 个项目的数组:
var home = {
faqmenu : ['faq-general',
'faq-protecting',
'faq-search',
'faq-incoming',
'faq-requests']
};
而我的标记中的简单列表菜单,我使用标签data-pane 来表示点击了哪个按钮。
然后在我的 jQuery faqpane = $(this).data('pane'); 中,它是如何找出点击了哪个按钮的。
<li id="faq-general" data-pane="faq-general" class="faq-menu-item faq-blue">
<span>General Questions</span>
</li>
<li id="faq-protecting" data-pane="faq-protecting" class="faq-menu-item">
<span>Protecting Your Data</span>
</li>
...
我正在尝试构建一个简单的 Case Switch 函数,该函数将找出单击了哪个按钮,现在有了这些信息,我需要对单击的按钮以及未单击的项目执行一些操作。
对被点击的按钮进行处理很容易,但是如何定位所有其他未被点击的项目并更改其 CSS?
$('.faq-menu-item').click(faqMenuShow);
function faqMenuShow(event) {
faqpane = $(this).data('pane');
console.log('The clicked faqpane is: '+faqpane);
switch (faqpane) {
case 'faq-general':
// Do stuff on the faq-general button - easy
jQuery.each(home.faqmenu, function(index, value) {
console.log(this);
return (this != "faq-general");
});
// ^ For items that are NOT faq-general
// remove this class: .parent().removeClass('faq-blue');
break;
case 'faq-protecting':
break;
case 'faq-search':
break;
case 'faq-incoming':
break;
case 'faq-requests':
break;
}
};
我在jQuery each 函数中的console.log(this); 在控制台中将其吐出:
您将如何查找未选择的项目并运行一些基本功能,例如删除它们的类/css?
我的 CodePen: http://codepen.io/leongaban/pen/IGcBa
【问题讨论】:
-
我补充说我使用标签数据窗格来找出点击了哪些按钮,我想我可以使用 id,但我喜欢使用标签:)
-
哇,有这么多很棒的答案,现在都检查一下......
标签: jquery arrays loops switch-statement