Javascript 如何使用jquery访问上一个li
我有以下html:Javascript 如何使用jquery访问上一个li,javascript,jquery,dom,Javascript,Jquery,Dom,我有以下html: <li> <a href="#tab1" data-toggle="tab">Presentation Name</a> </li> <li> <a href="#tab2" data-toggle="tab" class="not-allowed" id="survey_kind">Survey Length</a> </li> javascript的前两行正在
<li>
<a href="#tab1" data-toggle="tab">Presentation Name</a>
</li>
<li>
<a href="#tab2" data-toggle="tab" class="not-allowed" id="survey_kind">Survey Length</a>
</li>
javascript的前两行正在工作。由于某种原因,我无法让最后一行开始工作。我试图让第二个li标记激活该类,但该类没有被添加到任何位置。您想要的是
parent()
而不是prev()
该链接没有以前的元素。您要获取链接的父级:
yolo.parent().addClass("active");
参考:
请注意,您也可以使用
.nestest('li')
而不是.parent()
通过示例了解这一点。我想这回答了你的问题:
标记
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
我在这里做了一个JSFiddle:.prev()只查询元素的同级,而.not allowed没有。为了使用.prev(),您需要调用.parent()以获取锚点所在的列表项元素:
yolo.parent().prev("li").addClass("active");
编辑:我是个白痴试过了,但没用为什么prev不起作用?我阅读了prev的文档,看起来我写的应该可以用了?您的元素嵌套在
li
中<代码>上一个表示相邻元素parent
指的是父项。因为没有上一个同级项,您在isnide上有li元素“我正在尝试使用*第二个li标记*激活类”我不确定为什么这个答案被否决。这正是我所需要的。谢谢。@Philip7899-不,您在问题中说“我正在尝试让第二个li标记激活该类”。您的HTML与本问题中的HTML不同,并且.prev()无法根据您的代码和需求工作。
$( "li.third-item" ).prev().css( "background-color", "red" );
yolo.parent().prev("li").addClass("active");