2017-10-05 71 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

更換hasis

  • is是這個元素的集合
  • has是關於子孫
+0

我明白了。它適用於例如我在「.item」中添加一個帶有「special」類的段落。謝謝。接受,當它允許我。 – Sergi