- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在弄清楚如何从我的一个列表中删除类“active”时遇到一些问题。
我有一个导航栏:
<div class="container">
<ul class="nav">
<li class="active"><a href="#"></a>Home</li>
<li><a href="#"></a>About</li>
<li><a href="#"></a>Contact</li>
</ul>
</div>
我的主页中还有一个菜单:
<div class="container_2">
<ul>
<li class="left-main-list active"><a href="#">Subject 1</a></li>
<ul class="list-in-list">
<li><a href="#">Sub subject 1</a></li>
<li><a href="#">Sub subject 2</a></li>
</ul>
<li class="left-main-list><a href="#">Subject 2</a></li>
<li class="left-main-list><a href="#">Subject 3</a></li>
</ul>
</div>
当我浏览主页上的菜单时,我想在单击时将事件列表项类更改为事件状态,因此我现在有以下 jQuery 代码:
$(document).ready(function() {
$('li').click(function() {
$('li').removeClass('active');
$(this).addClass('active');
});
});
这适用于我的菜单,类更改为当前类,但它也删除了我不想要的导航栏类。 :)
我尝试过类似的方法:
$(document).ready(function() {
$('.left-main-list').click(function() {
$('.left-main-list li').removeClass('active');
$(this).addClass('active');
});
});
我尝试过 '.left-main-list li' 和 'li.left-main-list' 但没有成功。
非常高兴回答这个问题,我希望我的问题(这次)比以前的问题更准确。 :)
/比尔
ps:如果您单击另一个子主题,但主项目仍然具有其事件类别,子主题和主主题是否可以同时处于事件状态,并且该子主题的事件类别是否会被删除?
最佳答案
While i browse my menu on the home page, i want to change the the active list items class to active when clicked
您可以只定位相关 div
中的 li
,类似于:
$(document).ready(function() {
var $listItems = $('div.container_2 li');
$listItems.click(function() {
$listItems.removeClass('active');
$(this).addClass('active');
});
});
<小时/>
DEMO - 仅定位 .container_2
内的 li
Can a sub subject AND a main subject be active at the same time, and that sub subject's class of active, be removed if you for example click another sub subject, but the main item still have it's class of active?
仍然以容器为目标,您可以使用 jQuery 的 parent() ,类似于:
$(document).ready(function () {
$('div.container_2 li').click(function () {
var $this = $(this);
var $children = $this.parent().find('li');
$children.removeClass('active');
$this.addClass('active');
});
});
<小时/>
DEMO - 使用 parent()
允许事件菜单和子菜单,但主菜单更改时不允许
我研究了在位于不同主菜单元素内的子菜单之间切换时,使其更加动态地添加沿链向上的项目激活的可能性。
修复嵌套 ul
的 HTML,使嵌套 ul
位于 li
内部,而不是仅位于上部 内部ul
您可以进行完全动态的实现。
假设你的 HTML 是这样的:
<div class="container">
<ul class="nav">
<li class="active"><a href="#"></a>Home</li>
<li><a href="#"></a>About</li>
<li><a href="#"></a>Contact</li>
</ul>
</div>
<div class="container_2">
<ul>
<li class="left-main-list active"><a href="#">Subject 1</a>
</li>
<li>
<ul class="list-in-list">
<li><a href="#">Sub subject 1</a>
</li>
<li><a href="#">Sub subject 2</a>
</li>
<li>
<ul class="list-in-list">
<li><a href="#">Sub subject 1</a>
</li>
<li><a href="#">Sub subject 2</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="left-main-list"><a href="#">Subject 2</a>
</li>
<li class="left-main-list"><a href="#">Subject 3</a>
</li>
</ul>
</div>
现在,使用以下脚本,当从子菜单更改为另一个主菜单项中的另一个子菜单时,您还可以使任何子菜单项的父菜单项处于事件状态,与此类似:
$(document).ready(function () {
$('div.container_2 li>a').click(function () {
var $this = $(this);
var $relatedElements = $this.parents('ul').find('li');
if($this.hasClass('active')){
return;
}
$relatedElements.removeClass('active');
$this.parent('li').addClass('active');
var $parents = $this.parents('li');
$parents.each(function(){
$(this).not($this.parent()).prev().addClass('active');
});
});
});
<小时/>
DEMO - 链式激活
<小时/>我认为这应该有所有可能的例子来帮助您从这里开始。
希望这有帮助。
关于javascript - 我如何使用 jQuery 仅对我的 <li> 元素之一进行 .removeClass ('active' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15692291/
好吧,标题说明了一切。我的 javascript 函数构建一些“ block ”并使用 和 创建它们。问题是,它删除了所有其他 在网页上。 编辑:(好吧,我假设这个函数是造成这个的原因。删除我的意思是
这个 HTML 结构有效吗? Item 1 Item 2 Item 3 Item 4 Item 5 Item 6
我正在尝试在 UL 中添加标题因为你不能在 UL 中使用 H2如果按照我展示的方式使用它可以吗? News roll News 1 News 2 我的一位 friend 告诉我
这是我的 代码风格。 li{ font-family: Arial, sans-serif; font-size: 100%; color: black; display : list-item;
我正在使用 a 进行水平导航,感谢问题:Separators For Navigation ,我读到了使用 li + li 设置基于图像的元素分隔符的好方法。 (伪?)选择器。 在我的代码中,我为
我有一个 Div 容器,其中包含 4 我正在做的是在前面加上 进入并删除最后一个 我很容易使用 $('#news-ul li:last').remove() $('#news-ul').prepe
这是 html: menu item menu item menu item menu item menu item 如果我按“a”链接,它会将“当
我有 ul-li 列表 1 2 3 A B 我可以在列表中使用纯 css 最后一个选择器“.digit”吗? .digit 的数量未知 ul li.digit:nth-last-ch
我有这种情况,1- 我想删除一个带有两个图标的 li,它作为一个跨度在里面:一个是选中或取消选中相应的 li,另一个是删除那个 li。2- 我还想通过单击图标(选中图标)同时单击 li 来选中或取消选
如果标题不好理解,我来解释一下... 我有一个 css/jquery 切换菜单。按“+”号时它变大,按“-”号时它变小。我使几个元素的填充、边距和高度在切换/单击时发生变化。菜单顶部充满了链接,然后当
我有一个脚本 ( JsFiddle here ) 检测 li block 元素何时在页面上垂直居中并为其分配一个 .centered 类以使其更大通过 CSS。 .centered { hei
代码在这里:http://jsfiddle.net/C5mTf/49/我不知道为什么。下面的代码有问题吗? $("#menu").on('click','li',function (){ va
我为这个问题苦苦挣扎了几个小时,但仍然无法解决问题。 我有这样的 html 代码: aaaa11 bbbb11 我想知道如何使用 css 让 每里一行显示。但是 标签仍然具有垂
我需要使用水平缩放的 ul > li > ul 的组合来创建一个菜单。每个 ul 都应该有一个 max-height 并在溢出时滚动。悬停在 li 上时,如果里面有另一个 ul 标签,它应该会在右侧打
我了解到,如果我指的是 在 内或 在 CSS 中我应该使用 ol > li或 ul > li但是一旦我忘记在 ol 和 li 之间放置标志,我发现它仍然有效。执行此操作的正确方法是什么? 最佳答案
Question 1 Answer: $('#addquestion').click(function() { var $question_number
我如何在 中显示我的数组值? 我的代码: HTML JS var myList = [ ['1','one'], ['1','two'], ['1','th
我在使用代码编辑器时遇到了问题所以就在这里 Item1 Item 1.1 Item 1.2 Item2
我正在为我的网站创建响应式移动版本。正如您在此 jsfiddle 中看到的那样, 当用户将鼠标悬停在 上时项,菜单打开但覆盖了 而不是展开菜单。 我已经添加了 display: block在不同的地
我正在尝试创建一个网站,但我偶然发现了一个小问题,我正在使用 bootsnipp(一个侧面菜单)中的一个片段,我无法让它工作,所以链接将覆盖整个 LI,而不是你必须按自己的文字如果我改变它,那么它会坐
我是一名优秀的程序员,十分优秀!