[解決済み] DOM要素内のテキスト行を数えるにはどうすればよいですか?どうすればいいですか?
2022-06-01 13:20:04
質問
divの中の行数をカウントする方法はないのでしょうか?例えばこんなdivがあったとします。
<div id="content">hello how are you?</div>
多くの要因によって、divは1行、2行、あるいは4行のテキストを持つことができます。スクリプトが知る方法はあるのでしょうか?
言い換えれば、自動改行は DOM でまったく表現されないのでしょうか?
どのように解決するのですか?
今は無理だと確信しています。昔はそうだったんですけどね。
IE7のgetClientRectsの実装は、まさに私の望むとおりになりました。開く このページ を IE8 で開き、ウィンドウ幅を変えながら更新してみて、それに応じて最初の要素の行数がどう変わるかを見てみましょう。以下は、そのページのjavascriptの主要な行です。
var rects = elementList[i].getClientRects();
var p = document.createElement('p');
p.appendChild(document.createTextNode('\'' + elementList[i].tagName + '\' element has ' + rects.length + ' line(s).'));
残念ながら、Firefox は常に要素ごとに 1 つのクライアント長方形を返し、IE8 も現在同じです。(Martin Honnen のページが今日動作するのは、IE がそれを IE 互換表示でレンダリングするからです。)
これは悲しいことです。Firefox の文字通りの、しかし価値のない仕様の実装が、Microsoft の有用な実装に再び勝利したように見えます。あるいは、新しい getClientRects が開発者を助けるような状況を見逃したのでしょうか?
関連
-
[解決済み】ある要素を別の要素に移動させるには?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み] jQueryで名前を指定して要素を選択するには?
-
[解決済み] DOM要素が現在のビューポートで表示されているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
jsを使った簡単な照明スイッチのコード
-
Vueのクラススタイルの使い方の詳細
-
Vueのフォームイベントのデータバインディングの説明
-
Vueのフィルタの説明
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み】エラー。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりませんでした。
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。