2017-07-19 189 views
0
$(document).ready(function() { 
    $('.slash-menu nav').click(function(){ 
     $('.slash-menu nav').addClass('active'); 
    }); 

});addclass未成功實施

Jquery的執行完這條→

<nav class="slash-menu"></nav> 

應該成爲這一→

<nav class="slash-menu active"></nav> 

但這沒有發生。

Source of my Learning.

+0

最簡單的辦法就是走在瀏覽器控制檯,然後輸入'$(選擇).length'如果它是零,你的選擇器是錯誤的。例如'$('。slash-menu nav').length'vs'$('。slash-menu')length' –

回答

1
  1. 選擇是錯誤的。 .slash-menu nav表示具有類slash-menu的元素查找子導航。基於HTML標記應與類slash-menu
  2. 使用這種上下文元素導航

$(document).ready(function() { 
 
    $('nav.slash-menu').click(function() { 
 
    $(this).toggleClass('active'); 
 
    }); 
 
});
.active { 
 
    color: red 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<nav class="slash-menu">red</nav> 
 
<nav >not red</nav>

調試選擇
+0

[Link](https://www.screencast.com/t/JyVX4ftYF)我按照你的建議做了,但窗臺不工作。 ] – somethingnow

+0

@AdiYogi展示演示而不是圖片 – guradio

+0

是的,當然先生。 – somethingnow

2

那是因爲你的選擇是尋找內部.slash-menu一個<nav>元素 - 目標是這樣的:

$('nav.slash-menu').click(function() 
{ 
    $(this).addClass('active') 
}) 
+0

[Link](https://www.screencast.com/t/JyVX4ftYF)正如你所建議的那樣,但是它並不工作。 ] – somethingnow

+0

@AdiYogi - 有趣的是,它應該工作。在'$('nav.slash-menu')'上使用.length來查看它是否返回大於0 – ThisGuyHasTwoThumbs