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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

Q&A

解決済

3回答

1724閲覧

aタグの「〜html?p2#〇〇」について

kansya

総合スコア18

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

0グッド

0クリップ

投稿2018/03/24 10:54

リンクなのですが、

"""
<a href="〜html?p2#〇〇"></a>

"""
のように"""?p2"""をつけるということはどういった効果があるのでしょうか(※〇〇の部分はアンカーリンクのためにname属性に指定した値です。)。

調べても見つかりませんでした。
私が使っていたわかったことはアンカーリンクのときにこれを付ける必要があるように思ったということですが正確な仕様がよくわかりませんでした。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/03/24 11:25

どのような場合も必ず p2 というクエリ文字列が付くということですか?
defghi1977

2018/03/24 13:20

質問するにも基礎的なスキルが必要とは言え, think49さんのおっしゃっているとおり, もう少しあなたが「何を知りたいのか」について整理した上で質問したほうが的確な回答が得られるとは思います.
kansya

2018/03/28 10:04

遅くなってすみません。もう一度いただいた回答を見て考え直してみます。
guest

回答3

0

a要素

hyperlink . search
ハイパーリンクのURLのクエリー(空でない場合先頭の"?"を含む)を返す。
URLのクエリー(先頭の"?"を無視する)を変更する設定が可能である。

hyperlink . hash
ハイパーリンクのURLのフラグメント(空でない場合先頭の"#"を含む)を返す。
URLのフラグメント(先頭の"?"を無視する)を変更する設定が可能である。

「クエリ文字列」と「フラグメント識別子」

a要素のname属性

※〇〇の部分はアンカーリンクのためにname属性に指定した値です。

a要素のname属性は XHTML 1.0, HTML 5 (HTML Standard) で廃止されました。
a要素のname属性を使用する為には、DOCTYPE宣言で HTML 4.01 を宣言しなければなりません(MUST)。

RFC3986

PHP

調べても見つかりませんでした

調べても見つかりませんでした。

「何を調べ、調べた内容の何が足りなかったのか」を詳しく書くべきだと思います。
回答する立場としては、回答しても「それは調べましたが、分かりませんでした」と後出しされるリスクを負うのは困ります。

正確な仕様がよくわかりませんでした。

仕様を知りたいそうですが、仕様書のURIを開示すれば満足するでしょうか。
一口に仕様といっても、HTTP, HTML, URI 等、仕様の対象がいくつかありますが、あなたが知りたいのはどの仕様ですか。

Re: kansya さん

投稿2018/03/24 13:13

think49

総合スコア18189

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

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

kansya

2018/03/28 10:04

詳細にご説明くださりありがとうございます。 もう一度いただいた回答を見て考え直してみます。
guest

0

ベストアンサー

詳しい説明はURL標準仕様に記載されています.

参考
https://url.spec.whatwg.org/

ただこれだけ見てもなんのことか判りにくいので, 試しに次のダミーURL文字列をJavaScriptで解析すると次のようになりました.

JavaScript

1console.log(new URL("http://user:pass@test.com:8080/directory/file.htm?query=a#hash"));
プロパティ得られる値意味(ざっくりと)
hrefhttp://user:pass@test.com:8080/directory/file.htm?query=a#hashURLの全体
originhttp://test.com:8080リソースの所在(→CORS)
protocolhttp:通信に用いるプロトコル
usernameuserユーザー名
passwordpassパスワード
hosttest.com:8080通信先のホスト
hostnametest.com通信先ホスト名
port8080通信先のポート番号
pathname/directory/file.htmリソースの位置
search?query=a文書の検索条件
hash#hash得られた文書内の位置(→id属性等)

投稿2018/03/24 11:23

defghi1977

総合スコア4756

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

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

kansya

2018/03/28 10:05

ありがとうございます。 仕様書があったんですね。 もう一度考え直してみます。
guest

0

「?~~~」は、クエリーです。
おもに検索結果のリストとかで、検索条件として付けられることが多いです。

「#~~~」は、ハッシュです。
ページ内リンクをした時、その繊維先のIDがつくのがデフォルトの動作です。
別ページから遷移した時にハッシュがついていれば、そのIDの箇所に移動します。

アンカーリンクのときに、?~~を付ける必要はありません。
クエリとハッシュは別ものと考えてください。

それを踏まえたうえで、今一度現状のサイトで動作を確認し、整理するのがいいと思います。

投稿2018/03/24 15:51

kszk311

総合スコア3404

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

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

kansya

2018/03/28 10:04

遅くなってすみません。もう一度いただいた回答を見て考え直してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問