2017-11-11 68 views
0

上......我有jQuery的.hasClass方法的問題。如果一個元素有一個特定的類做的另一件

例如,如果存在.show類的div元素,我希望我的菜單按鈕顏色變爲紅色。

所以我寫了這個代碼解釋這個解決方案

if ($(".navbar-collapse").hasClass("show")) 
    $(".menuIcon").css("color", "red"); 

但是當我測試此代碼沒有工作...... 我怎麼能解決這個問題?

+0

你可以發表你的目標代碼? –

回答

0

試試這個:

$(".navbar-collapse.show").find(".menuIcon").css("color", "red"); 

你可以改變菜單中的事件相關聯。

+0

不,它不是關於{}當我測試的另一個例子 –

+0

好吧,看更新,將工作:)你可以避開狀態。 – Nick

0

只有CSS:

.navbar-collapse.show { 
    color:red!important; 
} 
1

你的代碼是完全正確的,它應該工作。只要確保
1-你的jQuery庫是存在,coreectly加載。
2-與您的代碼相關的樣式存在於頁面中並且爲真
3-在$(document).ready(function(){ });中包含您的代碼,以確保樣式在代碼執行前加載。

$(document).ready(function(){ 
    if ($(".navbar-collapse").hasClass("show")){ 
     $(".menuIcon").css("color", "red"); 
     } 
}); 
+0

你確定嗎?因爲我認爲我不得不使用另一種方法,因爲我的show類不是靜態的,它將在一個元素中! –

0

您的代碼看起來是不錯,但您所遇到的問題可能是由於一個或多個以下:

  • 你可能會丟失包括jQuery的(包括它使用script如果標籤的話)
  • 你可能有一個錯誤在控制檯(修復它如果是的話)
  • 您的代碼可能具有showclass創建或前您的標記之前執行class被添加到該標籤
  • showclass可能被添加到另一個標籤
  • 您可能希望覆蓋background-color代替color
  • 另一個JavaScript可能會覆蓋您期望的行爲

要獲得更確切的回答,你需要問一個更確切的問題。

+0

我稍後再試試這個.... –

+0

我認爲這可能是有關!在CSS –

+0

@ mr.md重要的關鍵字!重要覆蓋任何其他規則。什麼規則對你來說很重要? –

相關問題