2012-01-31 2 views
2

J'ai une feuille de style qui indente les paragraphes de 20px, mais je ne veux pas d'un retrait sur le premier paragraphe après chaque H4.Modifier la CSS de la première balise p après chaque balise H4

J'ai donc quelque chose comme ceci:

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

En utilisant jquery Je veux remplacer le paragraphe 3 sur css donc il n'y a pas de text-indent.

J'ai essayé, mais rien ne se produisit:

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

Répondre

11

Vous pouvez le faire avec seulement CSS:

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

Cela signifie sélecteur: sélectionnez p précédé par h4 qui est un enfant de #myDiv.

+ est le adjacent sibling selector.

Ou comme JavaScript si vous préférez:

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

+1 pour la solution CSS au lieu de jQuery! –

0

Qu'en est-this?

Utilisez le comme sélecteur.

0

bien des égards sont là ...

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

DEMO

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