从昨天开始跟进......
这部分代码确实有用。
$(document).ready(function(){
$('#listMenu a').click(function (selected) {
var getPage = $(this).attr('id');
var getName = $(this).attr('name');
//console.log(getPage);
//console.log(getName);
$(function() {
$("#" + getName ).show();
var getColor = $('#' + getName ).css('background-color');
$('#header' ).css('background', getColor);
$('#slideshow' ).css('background', getColor);
$('span').css('background', getColor);
$('#menuContainer').css('background', getColor);
});
$('li.listMenu ul').hide();
});
});
我能够得到我想要的东西;基于vars getPage和 getName,现在我需要隐藏未选中的内容。
我试过这个:
$(function() {
var notSelected = $('div').filter(selected).attr('id', 'name');
$(this).hide();
console.log(notSelected);
});
位于上方:$('li.listMenu ul').hide();
但这不正确,记得我真的是个新手。
我在屏幕上看到的是应该隐藏的新选项。
再次感谢任何帮助。
-sjs
答案 0 :(得分:2)
如果你点击div中的<a>
,我相信你想要这个:
$('div').not($(this).closest('div')).hide();
或者,如果您打算淡出其他<a>
元素:
$('#listMenu a').not(this).hide();
.not() function过滤那些与该组匹配的元素,因此.hide()
将在其余元素上运行。在您的情况下,selected
是点击事件,您想要的是this
,它指的是点击来自的#listMenu a
。