htmlの<p>タグの中など<script>タグを入れるのはアリなのでしょうか?
2014/8/1417:05:07
htmlの<p>タグの中など<script>タグを入れるのはアリなのでしょうか?
一応HTML5。
たとえば、、、
例1
htmlの<p>~</p>タグなどの中に、<script>~</script>タグを入れる。
<p><script>document.write("ユーザーエージェント:" + navigator.userAgent);</script></p>
もしくは、、、
例2
<script>~</script>タグの中に、htmlの<p>~</p>タグなどを入れる。
<script>document.write("<p>" + "ユーザーエージェント:" + navigator.userAgent + "</p>");</script>
こういう場合、どちらの指定が正しいとかあるのでしょうか?一応同じく表示されています。
http://liveweave.com/
あとでデバッグや編集することを考えると例1の方がいいような気がしますが。。。
ついでに<noscript>を考えてみると、
例1 - no
<p><noscript>スクリプト無効状態</noscript></p>
例2 - no
<noscript><p>スクリプト無効状態</p></noscript>
だと表示結果は、
↓
例1 - no
スクリプト無効状態
例2 - no
<p>スクリプト無効状態</p>
となるので、結局は例1がいいのかなと。。。?
ベストアンサーに選ばれた回答
2014/8/1510:11:26
<p>は、HTML5の規格では、「フローコンテンツ」に分類されています。
<script>は、html5の規格では、「フレージングコンテンツ」に分類されています。
「フレージングコンテンツ」とは、文書のテキスト及び段落内レベルでそのテキストをマークアップする要素です。
<p>がフローコンテンツであるため、その中のテキストをマークアップするためにフレージングコンテンツを使用する事が可能です。
従って、言い換えれば、<script>は<p>の子要素になることが可能です。
今回のご質問の例では、<p>のテキストで表したいテキストが、ユーザーエージェントであり、それは閲覧している人のブラウザによって異なるため、動的に表示させるべく、<script>タグを<p>の中に使うのは妥当です。
より詳細を知るためには、HTML5の仕様書を読まれると宜しいかと思います。
http://momdo.s35.xrea.com/web-html-test/spec/html5-dev/dom.html#phr...
w3cのHTML validatorを使っても、正しいコーディングであると判断されます。
http://validator.w3.org/check
(ただし、<script type="text/javascript">と書いて下さい。)
この回答は投票によってベストアンサーに選ばれました!
- Yahoo!検索で調べてみよう
ベストアンサー以外の回答
1〜1件/1件中
2014/8/1523:15:15
> <script>document.write("<p>" + "ユーザーエージェント:" + navigator.userAgent + "</p>");</script>
本来は、上記のような書き方はダメです。次のようにすれば簡単です。
<script>document.write("\x3Cp>" + "ユーザーエージェント:" + navigator.userAgent + "\x3C/p>");</script>
しかし「ダメな書き方」をするページが過去にあまりに多かったので、ブラウザは常に救済措置をとってきました。
じゃあもういっそのこと……ということで、HTML Standard(旧 HTML5)では「ダメな書き方」を文法的に許容することにしました。この結果、HTML Standard は SGML/XML に準拠しないものになりました。
あとまあ、script 要素の実行前・実行後も妥当な文書になっていること、noscript 要素は例えタグをはぎ取ったとしても妥当な文書になっていることが原則です。
このカテゴリの回答受付中の質問
このカテゴリの投票受付中の質問
この質問につけられたタグ
専門家が解決した質問
-
htmlについて、すごく初歩的な質問なのですが、 以下のタグ <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf8"> <title>はじめてのHTML</titl...
terapadで保存するときに、文字コードをHTMLタグで指定してある「UTF-8(BOMなし)」以外で保存してしまったせいでしょう。 保存したHTM...
- 新谷貴司
- Webコンサルタント
-
CSSの<h1>タグに関する質問です。 基本的に<h1>タグは、サイトの大見出しという意味合いをもっていると思いますが、 必ずしも「ページタイトルと同じでなくて...
こんにちは。SEOコンサルタント・被リンクサービスの提供をしております河井と申します。 早速質問について回答させて頂きます。 h1タグ...
- 大阪のSEO対策コンサルタント河井
- ITコンサルタント
カテゴリQ&Aランキング
- 戻る
- 次へ
総合Q&Aランキング
Yahoo!知恵袋カテゴリ
お客様自身の責任と判断で、ご利用ください。