1

我不明白为什么这不起作用。我有一个列表,每个项目在锚点上都有一个背景图像。使用 jQuery,我试图在所选锚点之前删除项目上的背景图像。这是HTML:

<ul id="menu">
<li class="last"><a href="#">Contact Us</a></li>
<li><a href="#">Testimonials</a></li>
<li><a href="#">Projects</a></li>
<li class="selected"><a href="#">Our Services</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Home</a></li>
</ul>

这是我用来尝试删除背景图像的 jQuery(使用 display:none 进行测试):

$('li.selected a').prev().css( {display : "none"});

当我使用以下内容时,它可以工作:

$('li.selected').prev().css( {display : "none"});

但是一旦我涉及到锚标签,它就会停止。

TLDR:基本上我需要选择所选链接之前的“项目”,并删除与其相关的背景图像(链接,而不是列表项)。谁能告诉我为什么该代码不起作用?

谢谢

4

2 回答 2

1

.prev(0)并分别从所选元素.next()的上一个和下一个兄弟姐妹中进行选择。出于您的目的,这将起作用:

$('li.selected').prev().find("a").css( {display : "none"});
于 2012-07-22T02:57:39.007 回答
1
于 2012-07-22T02:58:17.340 回答