我有一些列表元素,如下所示:
<li class="item">
<a class="toggle"><h4>ämne<small>2010-04-17 kl 12:54 by <u>nike1</u></small></h4></a>
<div class="meddel">
<span>
<img style="max-width: 70%; min-height: 70%;" src="profile-images/nike1.jpg" alt="" />
<a href="account.php?usr=47">nike1</a>
</span>
<p>text</p>
<span style="clear: both; display: block;"></span>
</div>
</li>
<li class="item odd">
<a class="toggle"><h4>test<small>2010-04-17 kl 15:01 by <u>nike1</u></small></h4></a>
<div class="meddel">
<span>
<img style="max-width: 70%; min-height: 70%;" src="profile-images/nike1.jpg" alt="" />
<a href="account.php?usr=47">nike1</a>
</span>
<p>test meddelande :) [a]http://youtube.com[/a]</p>
<span style="clear: both; display: block;"></span>
</div>
</li>
我正在试图弄清楚如何制作它,以便当你点击类.toggle的链接时,父元素(li元素)将切换类.current。
我不确定以下代码是否正确,但它无效。
$(this).parent('.item').toggleClass('.current', addOrRemove);
即使我删除“('.item')”,它似乎没有任何区别。
那么,有什么想法吗?
提前致谢
答案 0 :(得分:7)
toggleClass
采用类名,而不是选择器。因此,您不应包含.
将其更改为toggleClass('current')
(不含.
)。
此外,您可以通过调用closest
代替parent
来使代码更加强大。 closest
将搜索与选择器匹配的最内层父元素,以便在链接嵌套在.item
内时它将继续工作。