【问题标题】:jQuery - How to select all element with <a> tag? [closed]jQuery - 如何选择带有 <a> 标签的所有元素? [关闭]
【发布时间】: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>

我想在上面的代码中选择所有带有锚标记的元素,这意味着当我点击任何链接&lt;a&gt;时,父&lt;li&gt;将被突出显示。我该怎么办?

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


【解决方案1】:

更新:选择整个 UL

你是说喜欢这个DEMOhttp://jsfiddle.net/yeyene/YrBMn/1/

但星号 li 是干什么用的?

$(document).ready(function(){
    $('li a').on('click', function(){
        $(this).parent('li').addClass('selected');
        $(this).siblings('ul').children('li').addClass('selected');
    });
});

【讨论】:

  • 嗨。我的问题看起来像这篇文章stackoverflow.com/questions/10303645/…
  • 以防万一你有更多的嵌套 html 而不仅仅是 li 的直接子元素,那么你应该使用 $(this).closest('li') 而不是 $(this).parent ('li') 如果你需要遍历树。
  • 也许我做不到。对不起,如果这篇文章打扰你。我在互联网上搜索,但我可以看到任何事情都可以做我想要的。
【解决方案2】:

我找到了一个例子。这里是链接http://www.webdesigndev.com/web-development/create-the-fanciest-dropdown-menu-you-ever-saw,您可以点击 adobe -> dreamewaver 或菜单中的任何元素,该父元素将突出显示。我想做这个。

【讨论】:

    猜你喜欢
    • 2013-11-15
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多