jquery选择一个带有内部元素的元素

时间:2014-09-25 11:04:36

标签: jquery

  

<li>

标签。我想选择其中一个,在其中使用tag的href属性。

我尝试了类似的东西,

       $(document).ready(function () {
        $("a[href^='Default.aspx']").parents
            .removeclass("menu")
            .addClass("menuac");

        });

这但是没有用:(。

请注意,我正试图联系我的

  

<li>

标签

html部分是这样的:

   <ul>
    <li><a href="Default.aspx">Home</a></li>
    <li><a href="Read.aspx">Read</a></li>
    <li><a href="Archive.aspx">Archive</a></li>
   </ul>

感谢..

4 个答案:

答案 0 :(得分:1)

而不是

$("a[href^='Default.aspx']").parents
你可能想要

$("a[href^='Default.aspx']").parents()

但更好的解决方案,如果我猜对了你的目标,那就是

$("a[href^='Default.aspx']").closest('li')

答案 1 :(得分:1)

用作

$(document).ready(function () {
    $("a[href^='Default.aspx']").parents()
        .removeclass("menu")
        .addClass("menuac");

    });

答案 2 :(得分:1)

尝试使用:has()选择器优雅地完成任务,

$("li:has(a[href^='Default.aspx'])").removeclass("menu").addClass("menuac");

$("li:has(a[href^='Default.aspx'])").addClass("menuac");
.menuac {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<ul>
  <li><a href="Default.aspx">Home</a>
  </li>
  <li><a href="Read.aspx">Read</a>
  </li>
  <li><a href="Archive.aspx">Archive</a>
  </li>
</ul>

答案 3 :(得分:1)

试试这个

$("a[href^='Default.aspx']").parent().removeclass("menu").addClass("menuac");

$("a[href^='Default.aspx']").parents(":eq(0)").removeclass("menu").addClass("menuac");