Puis-je facilement “set” d'un élément offsetWidth?

Note: je sais offsetWidth est en lecture seule

Je suis en train de faire un pop-up 'div' superposition d'un tr élément avec la même largeur.

Cependant, je suis perplexe quant à la façon de régler mon div's width de sorte que son offsetWidth est exactement la même que la tr.

Le calcul ressemblerait à quelque chose comme:

div.width = tr.offsetWidth - div.paddingWidth - div.marginWidth

mais sûrement, il ya une meilleure façon (puisque je ne peut que penser à faire du remplissage et de la marge des décalages dans les groupes de deux...)

Plus précisément, j'aimerais une réponse pour YUI 2 si possible.

Il me semble que vous avez répondu à votre propre question. Ma seule recommandation serait d'obtenir la div est calculée à gauche et à droite de la marge et le remplissage des valeurs séparément, car ils pourraient tous être différents.
Ball: Ok, j'ai donc changé le titre de facilement réglage de la largeur. J'ai juste du mal à croire qu'il n'est pas intégré dans une bibliothèque quelque part (même si ce n'est pas YUI)
Notez également que le calcul de styles, etc peuvent renvoyer des valeurs comme "40px" qui est moins utile pour l'arithmétique
Vous devrez accéder à la marge et le remplissage de l'information par le biais de l'élément de style, par exemple div.style.paddingLeft. Rappelez-vous qu'il dispose d'une unité, si elle n'est pas en pixels que vous êtes hors de la chance. Si elle est, alors vous aurez à analyser le numéro de la première partie de votre calcul, c'est pourquoi je préfère avoir tout ce zéro avais comme indiqué dans ma réponse. (Vous être en mesure d'obtenir une meilleure normalisé marge et le remplissage de l'information par le biais de la window.getComputedStyle méthode, mais je n'ai aucune idée de la prise en charge du navigateur).

OriginalL'auteur Stephen | 2011-02-02