2013-02-10 5 views
0

J'ai deux divs empilés.Javascript: Obtenir la largeur des éléments enfants

La div externe a une largeur fixe avec le débordement caché.

Le div interne a un contenu qui peut être plus grand que le div précédent.

Comment puis-je obtenir la largeur totale du contenu de la div interne?

<div id='outer' style='width:100px'> 
    <div id='inner'> 
     content 
    </div> 
</div> 

Lorsque je tente $ (« # intérieure ») largeur.() et le contenu est plus grand que externe, elle retourne la largeur de la div externe.

J'utilise Chrome.

http://jsfiddle.net/4syEJ/

Répondre

2

Vous pouvez obtenir le .scrollWidth du parent, qui retournera ce que vous voulez.

document.getElementById('outer').scrollWidth

http://jsfiddle.net/4syEJ/3/

+0

Merci beaucoup, qu'il a fait pour moi. –

1

Essayez:

<div id="outer" style="width:100px"> 
    <div id="inner"> 
     <p id="content">content</p> 
    </div> 
</div> 

Et

$('#content').width(); 
1

vous pouvez utiliser .children() sélecteur de jquery comme ceci:

$('#info').html($('#box1').children().width(); 
$('#box2').children().width(); 
$('#box3').width()); 

http://jsfiddle.net/4syEJ/2/

+0

Merci, fonctionne bien. Mais j'ai l'impression que la solution de Nicks est plus performante. –

+0

votre http://jsfiddle.net/4syEJ/4/ montre 200/250/250 pour moi. Quel navigateur utilisez-vous? –

+0

vous avez raison mon pote. – Ramin

Questions connexes