2017-10-05 15 views
2

多分私はそれが間違っていると理解していますが、これはこの状況では機能しないはずですか?私は間違って何をしていますか?jQueryは意図したとおりに動作していません

$("#count").on("click", function(){ 
    $(".item").each(function(index, element){ 
     $(element).text(index + 1); 

     /*** this line does nothing ****/ 
     $(element).has(".special").css("background", "black"); 

     if(index + 1 == 4 || index + 1 == 8){ 
     $(this).css("background", "#A5C663"); 
     } 
    }) 
    }) 

HTML:

<div id="grid"> 
    <div class="item"></div> 
    <div class="item special"></div> 
    <div class="item"></div> 
    <div class="item"></div> 
    <div class="item special"></div> 
    <div class="item"></div> 
    </div> 

これはどちらか動作していない:

$(this).has(".special").css("background", "black"); 

または:

$(".item).has(".special").css("background", "black"); 

答えて

2

をしてhasを交換してくださいis

  • isは要素
  • hasのこのセットは、私は理解して子孫
+0

についてですについてです。たとえば、 ".item"の中に "special"のクラスを持つ段落を追加します。ありがとうございました。それが許せば受け入れる。 – Sergi

関連する問題