Si j'ai le balisage suivant;jQuery Equal Height Divs
<div id="container">
<div id="box">
<div id='sameHeight'>One<br>two<br>three</div>
<div id='sameHeight'>four</div>
<div id='sameHeight'>five</div>
<div>
<div id="box">
<div id='sameHeight'>four</div>
<div id='sameHeight'>six</div>
<div id='sameHeight'>seven<br>eight</div>
<div>
</div>
Comment puis-je faire en sorte que tous les divs marqués comme « sameHeight » sont la même hauteur que leurs homologues dans l'autre div?
J'ai regardé le plugin equalHeights mais cela suppose que tous les divs côte à côte sont dans le même parent. J'ai besoin d'un qui peut traverser les parents ou permettez-moi de préciser les parents.
Y at-il une telle chose ou dois-je écrire?
EDIT
Il me semble avoir causé une certaine confusion dans mon explication et j'espère que cela efface les choses un peu.
En regardant le nouveau balisage, le conteneur est une simple boîte.
Les divs « boîte » sont assis côte à côte.
Chaque sameheight div se trouve alors l'un sous l'autre dans son parent.
La chose que j'essaie de résoudre est d'avoir chacun des mêmes HH qui correspondent à son côté opposé de la même hauteur.
ça devrait ressembler à une grille je devine w/out en utilisant une grille.
J'espère que cela aide.
EDIT 2
C'est à ce jour ce que je suis venu avec mais est-il une meilleure façon?
function SetHeights() {
var numLines = $('#container>div:eq(0) .sameHeight').length;
for (var t = 0; t < numLines; t++) {
var leftHeight = $('#container>div:eq(0) .sameHeight:eq(' + t + ')').outerHeight();
var rightHeight = $('#container>div:eq(1) .sameHeight:eq(' + t + ')').outerHeight();
if (leftHeight > rightHeight) {
$('#container>div:eq(1) .sameHeight:eq(' + t + ')').css({ height: leftHeight });
}
else {
$('#container>div:eq(0) .sameHeight:eq(' + t + ')').css({ height: rightHeight });
}
}
}
Donc, vous voulez que '# box' ait la même hauteur? – alex
sur une base par ligne ouais – griegs