2012-01-31 41 views
2

我有一個樣式表,它將段落縮進20px,但我不想在每個H4之後的第一個段落上進行縮進。在每個H4標籤後改變第一個p標籤的CSS

所以我有這樣的事情:

<p>Paragraph 1</p> 
<p>Paragraph 2</p> 
<h4>Sub Heading</h4> 
<p>Paragraph 3</p> 
<p>Paragraph 4</p> 

使用jQuery我希望覆蓋第3款的CSS所以沒有文本縮進。

我試過,但什麼都沒有發生:

$("#myDiv > h4").next("p").css({"text-indent":0}); 

回答

11

你可以只用CSS做:

#myDiv > h4 + p { 
    text-indent: 0; 
} 

這意味着選擇:選擇p前面加h4那就是#myDiv一個孩子。

+adjacent sibling selector

或者如JavaScript,如果你喜歡:

$('#myDiv > h4 + p').css('text-indent', 0); 
+4

+1的CSS解決方案,而不是jQuery的! – 2012-01-31 11:39:33

0

什麼this

使用h4 + p作爲您的選擇器。

0

很多方面是有...

$(document).ready(function(){ 
    $('#myDiv h4').each(function(){ 
    $(this).next().css({"text-indent":0}); 
    }); 
}); 
0

DEMO

$('#myDiv h4').next('p').css({textIndent:0});