2013-05-06 29 views
0

我是初學者學習jQuery和問題說:jQuery的 - 將CSS應用於第一款

添加一個jQuery事件監聽風格的第一款當鼠標光標是在它爲褐色,大膽的風格和下劃線。

我想這一點:

$(document).ready(function() { 
    $("p").first().hover(
     function() { 
      (this).css('color','brown'); 
      (this).css('font-weight','bold'); 
      (this).css('text-decoration','underline'); 
     }, 
     function() { 
      (this).css('color','black'); 
      (this).css('font-weight','normal'); 
      (this).css('text-decoration','none'); 
     } 
    ); 
}); 

但它不工作。所有的p標籤都包裹在不同的div標籤中,這是否有所作爲?通過「第一段」,我認爲這意味着頁面上的第一段。

+0

似乎沒什麼問題http://jsfiddle.net/arunpjohny/m8ZSa/1/ – 2013-05-06 03:08:15

+2

有一種類型,你缺少的'('$'跡象這個)' – 2013-05-06 03:08:45

回答

4

您的代碼想念$包裝。

(this).css css是jquery對象的一種方法。但在那裏你試圖通過說(this).css在DOM元素上調用它。

.first()的簡寫爲:first。您也可以稱其爲$("p:first").hover(

Demo

$(document).ready(function() { 

    $("p").first().hover(

     function() { 
      var elem = $(this); 
      elem .css('color','brown'); 
      elem .css('font-weight','bold'); 
      elem .css('text-decoration','underline'); 
     }, 
     function() { 
      var elem = $(this); 
      elem .css('color','black'); 
      elem.css('font-weight','normal'); 
      elem.css('text-decoration','none'); 
     } 
    ); 
}); 

只是延長和演示您如何只選擇特定的div的第一款問題。您可以使用選擇器鏈接/篩選來確保只有預期段落受到影響。見Example及以下這裏的款式只指定的div與A級對位的代碼

$(document).ready(function() { 

    $("div.A p:first").hover(

    function() { 
      var elem = $(this); 
      elem .css('color','brown'); 
      elem .css('font-weight','bold'); 
      elem .css('text-decoration','underline'); 
     }, 
     function() { 
      var elem = $(this); 
      elem .css('color','black'); 
      elem.css('font-weight','normal'); 
      elem.css('text-decoration','none'); 
     } 
}); 
+0

仍然無法正常工作。它可能與它被包裹在帶有類的div標籤中有關係,但是另一個具有相同類的div組也具有段落,所以我不知道如何選擇該段落。 – djmordigal 2013-05-06 03:13:58

+0

檢查此http://jsfiddle.net/APSzn/。提供你的HTML .. – PSL 2013-05-06 03:15:01

+0

看到這個。 http://jsfiddle.net/Zds6a/ – PSL 2013-05-06 03:16:22

0

嘗試也$('body p:first').hover(function() { .... })

$(document).ready(function() { 
    $('p').first().hover(
     function() { 
      $(this).css({'color':'brown', 'font-weight':'bold','text-decoration':'underline'}); 

     }, 
     function() { 
      $(this).css({'color':'black', 'font-weight':'normal','text-decoration':'none'}); 

     } 
    ); 
}); 
+0

當我將鼠標懸停在第一段上時,它沒有做任何事情。這段文字被封裝在一個「特殊」類的div中,但是另外一個具有相同類別的div也有段落,所以如果它說「第一段」,我不確定該怎麼做。 – djmordigal 2013-05-06 03:11:27

1

嘗試翹曲所有(這)是$(本)

即:

$(document).ready(function() { 
    $("p").first().hover(
     function() { 
      $(this).css('color','brown'); 
      $(this).css('font-weight','bold'); 
      $(this).css('text-decoration','underline'); 
     }, 
     function() { 
      $(this).css('color','black'); 
      $(this).css('font-weight','normal'); 
      $(this).css('text-decoration','none'); 
     } 
    ); 
}); 

雖然我不認爲這是問題