我想将ul的第一个li的href设置为“#1”?

时间:2017-09-09 06:30:55

标签: javascript jquery html

<ul class="nav-list">
  <li class="nav-item"><a>Item #1</a></li>
  <li class="nav-item active"><a href="#2">Item #2</a></li>
  <li class="nav-item"><a href="#3">Item #3</a></li>
  <li class="nav-item"><a href="#4">Item #4</a></li>
  <li class="nav-item"><a href="#5">Item #5</a></li>
  <li class="nav-item"><a href="#6">Item #6</a></li>
</ul>

我曾尝试过类似下面的内容: -

$( 'ul[class="nav-list"] li:nth-child(1)' ).attr( "href", "#1" );

由于还有其他ul标记,因此无效。

3 个答案:

答案 0 :(得分:1)

<li>个元素没有属于href元素的<a>属性。所以它应该是:

$('ul[class="nav-list"] li:nth-child(1) a').attr("href", "#1");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav-list">
  <li class="nav-item"><a>Item #1</a></li>
  <li class="nav-item active"><a href="#2">Item #2</a></li>
  <li class="nav-item"><a href="#3">Item #3</a></li>
  <li class="nav-item"><a href="#4">Item #4</a></li>
  <li class="nav-item"><a href="#5">Item #5</a></li>
  <li class="nav-item"><a href="#6">Item #6</a></li>
</ul>

答案 1 :(得分:0)

你应该尝试这样

第一种方法

$('ul.nav-list li a:nth-child(1)' ).attr( "href", "#1" );

第二种方法

$('ul.nav-list li a').eq(0).attr( "href", "#1" );

答案 2 :(得分:0)

你可以试试这个:

$( 'ul li a:first-child' ).attr( "href", "#1" );
OR
$('ul[class="nav-list"] li:nth-child(1) a').attr("href", "#1");