【发布时间】:2013-07-09 02:45:27
【问题描述】:
我有一个这样的html代码:
<ul>
<li class="curent"><a href="home.html">Home</a></li>
<li>
<a href="javascript:void(0)">Products</a>
<ul class="sub">
<li><a href="samsung.html">Samsung</a></li>
<li><a href="lenovo.html">Lenovo</a></li>
</ul>
</li>
<li><a href="catalog_grid.html">News</a></li>
</ul>
我想在上面的代码中选择所有带有锚标记的元素,这意味着当我点击任何链接<a>时,父<li>将被突出显示。我该怎么办?
P/S:如果我有这样的菜单,我可以轻松突出显示 li 元素:
<ul>
<li class="curent"><a href="home.html">Home</a></li>
<li><a href="products.html">Products</a>
<li><a href="catalog_grid.html">News</a></li>
</ul>
var this_url = window.location.href;
$('#block_nav_primary ul li').each(function() {
if ($(this).children().attr('href') == this_url) {
$('#block_nav_primary ul').find('li[class="curent"]').removeClass('curent');
$(this).addClass('curent');
}
});
【问题讨论】:
-
这有点不清楚。我假设您在格式方面遇到了一些问题,并且实际上不应显示星号,而是将“li”设为粗体?
-
这个问题(尤其是标题)令人困惑。如果你想选择所有带有标签的元素,只使用标签名称(就像在 CSS 选择器中一样):
$('li'). -
你不应该关心星号,我用它来标记需要突出显示的 li(s)。当然,浏览器无法显示。
标签: javascript jquery