0

たとえば、次のような書式設定されていないテキストを含む Div または Span の幅または高さを取得するのは非常に簡単です。

<div>Hello World</div> 

JQuery の width() または height() メソッドを使用します。以下の例のような書式設定されたテキスト要素では、同じことが機能しないようです。

<span id="caption" class="caption" style="left: 406px; top: 357.5px;">
<textformat leading="2">
    <p align="LEFT">
        <font face="Verdana" color="#FFFFFF" size="4" kerning="0" letterspacing="0">
            <b>TYPE</b><b><i>iorad</i></b>and<b>PRESS ENTER</b>
        </font>
    </p>
</textformat>
</span>

この例には、html ページをレンダリングしたときに適切に表示される、書式設定されたテキスト要素が含まれています。ただし、動的な幅または高さを取得しようとすると、以下に示すように 0 または null が返されます。

$(".caption").width() returns 0

jqueryまたはjsから動的な幅の高さを取得するためのソリューションに関するアイデアはありますか?

4

2 に答える 2

1

これは、HTML コードが壊れているためです。

インライン要素 (span) 内にブロック要素 (p) を含めることはできないため、ブラウザーはコードを修正するために最善を尽くします。これを試した特定のブラウザは、ブロック要素をインライン要素の外側に移動し、インライン要素を空のままにしました。

于 2012-05-04T11:18:58.980 に答える
0

その作業。ここのデモを見てくださいhttp://jsfiddle.net/Simplybj/ZkEyR/1/

于 2012-05-04T11:22:23.327 に答える