2014-11-20 88 views
0

什麼選擇我使用一個類添加到a元素是自舉導航欄的ul > li裏面?如何修復jQuery選擇

這裏是my example on jsfiddle

下面是代碼:

<div class='navbar navbar-inverse' role='navigation'> 
    <div class='container'> 
    <!-- Brand and toggle get grouped for better mobile display --> 
     <div class='navbar-header'> 
      <a class='navbar-brand' href='#'><img src='' height='41' width='40' alt=''></a> 
     </div> 

     <div class='collapse navbar-collapse'> 
      <ul class='nav navbar-nav navbar-right'> 
       <li><a class='' id='newsBox' href=''><span class='glyphicon glyphicon-inbox'></span></a></li> 
      </ul> 
     </div><!-- /.navbar-collapse --> 
    </div><!-- /.container-fluid --> 
</div> 

<button type='button' id='newsBox2' class='btn btn-default'>asdasd</button> 

$("#newsBox2").click(function() { 
    $(".navbar .container ul li a #newsBox").addClass(".news"); 
}); 
+0

你有問題發佈相關的代碼 – 2014-11-20 23:00:55

+0

以及我加上http://jsfiddle.net/763h89h9/但我的例子編輯帖子... – 2014-11-20 23:04:15

回答

4

取下類PARAM並作爲ID點必須位於文檔上下文唯一的,僅使用ID選擇:

$("#newsBox2").click(function() { 
    $("#newsBox").addClass("news"); 
}); 
+1

大聲笑,感謝在「。」是,我有超過10小時,今天設計和我的心已經被鎖定..顯然它並沒有看到這一點 – 2014-11-20 23:10:26

0

當你正在尋找的a有ID #newsBox,你的選擇應該是

.navbar .container ul li a#newsBox 

您也可以只使用#newsBox

1

正如其他人所說,最好使用#newsBox ID。然而,解釋什麼是你的代碼錯誤,這樣的:

$(".navbar .container ul li a #newsBox").addClass(".news");

...應該成爲這樣的:

$(".navbar .container ul li a#newsBox").addClass("news");

在第一種情況下,你正在尋找與元素id newsBox contains within the <a> element,when it is <a> element 本身已有id="newsBox"

也正在增加「新聞」的一類,而不是‘新聞’

+0

但你仍然在增加一類'.news'不是'news'一個 – 2014-11-20 23:13:43

+0

哎呦!謝謝,現在修復它。 – Lochlan 2014-11-20 23:17:28