質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

560閲覧

文字の幅の取得方法に付きまして

despaine198

総合スコア7

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/06/19 03:59

編集2021/06/19 07:22

htmlファイルに記載してあるaaaaaaaの文字列の幅を取得したいです。
javascriptでこのように記載すると0という数字が出てきてうまく取得ができません。
ネットで調べたらgetElementById()を使った手法は多く見られた。

html

1(省略) 2<p>aaaaaaa</p> 3(省略)

javascript

1var r = document.getElementById("id")[0].clientWidth; 2console.log(w);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/06/19 04:00

document.getElementsByTagName("p")[0]は、本当に<p>aaaaaaa</p>を指していますか?
m.ts10806

2021/06/19 04:01

JavaScriptを質問タグとして追加してください。 あと、clientWidthはどこで参考にしましたか?
m.ts10806

2021/06/19 04:05 編集

ちなみに現状のコードだけだと「実行時の(ブラウザの)幅」が出ます。 0にはならなかったので、他のHTMLやcssが影響しているのでは? getElementsByTagNameもgetElementByIdも取得結果がリストか要素単体かだけでそんな大きな違いはないです。
m.ts10806

2021/06/19 04:08 編集

あと「文字の幅」の定義を明確にされたほうが良いです。 どういう情報に対してどういう結果を求めたいのか。 clientWidthだと「要素の幅」になるので、ブラウザに対して100%の幅を持っていればブラウザの幅とイコールになり、中の文字は関係ない結果がでます。
guest

回答1

0

pはデフォルトではブロックレベル要素なので利用可能な全幅をとるはずです。
それが0になるということは、pdisplayプロパティが変更されているのではないでしょうか
(おそらくinlineに)
望む結果を得るためには、pdisplayプロパティを、幅が中身に合わせた大きさになるinline-blockに変える必要があると思います。

投稿2021/06/19 04:11

itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

despaine198

2021/06/19 04:19

それってCSS使わないといけない方法ですよね?
itagagaki

2021/06/19 04:26 編集

でも、冒頭で言ったことを繰り返しますが、0になっているということは、そもそもCSSが使われているのでは?そうでなければ全幅(親がbodyならbodyの幅)になるはずですので。
m.ts10806

2021/06/19 04:27 編集

追記・修正依頼でも書きましたが、 現状のコードだけだとitagagakiさんの仰っている通り「実行時の(ブラウザの)幅」が出ます(実証済み)。再現できる情報(ブラウザや環境も含めて)提示されないとこれ以上はアドバイス得られないかと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問