[解決済み] アンカー(a)タグからローカルhref値を取得する。
質問
ローカルなhref値を持つアンカータグと、そのhref値を使用し、通常とは少し異なる場所に誘導するJavaScript関数を持っています。 タグは次のようなものです。
<a onclick="return follow(this);" href="sec/IF00.html"></a>
というようなJavaScriptの関数があります。
baseURL = 'http://www.someotherdomain.com/';
function follow(item) {
location.href = baseURL + item.href;
}
と予想されます。
item.href
は、単に "sec/IF00.html" という短い文字列を返しますが、その代わりに "http://www.thecurrentdomain.com/sec/IF00.html" という完全な href が返されます。 アンカーに置かれた短いhrefだけを取り出す方法はありますか?
<a>
タグを使用することはできますか? それとも、HTMLの自然な動作でそれを失ってしまうのでしょうか?
文字列操作でこれを行うことができると思いますが、ローカルページが実際には "http://www.thecurrentdomain.com/somedir/somepath/sec/IF00.html" で、href フィールドにサブディレクトリがあるかないかなので厄介です(例えば
href="page.html"
vs.
href="sub/page.html"
のように、最後のスラッシュの前にあるものをすべて削除するわけにはいきません。
なぜこんなことを要求しているのかと思われるかもしれませんが、それだけでもページがすっきりするからです。 もし、短い href (アンカーである
<a>
タグ) に追加フィールドを挿入することができるかもしれません。
link="sec/IF00.html"
しかし、これもまた、少し面倒です。
解決方法は?
以下のコードは、アンカーがポイントしているフルパスを取得します。
document.getElementById("aaa").href; // http://example.com/sec/IF00.html
の値を取得するのに対して、下のものは
href
属性で指定します。
document.getElementById("aaa").getAttribute("href"); // sec/IF00.html
関連
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】'useState' が定義されていない no-undef React
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] JavaScriptでドロップダウンリストの選択値を取得する
-
[解決済み] オブジェクトの配列から、プロパティの値を配列として取り出す。
-
[解決済み] jQuery ドロップダウンから選択されたオプションを取得する
-
[解決済み] jQuery get specific option tag text
-
[解決済み] スクリプトタグ - 非同期と遅延
-
[解決済み】「GET」パラメータから値を取得する(JavaScript)【重複】。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】Angular JS Uncaught Error。[インジェクター:モジュラー]。
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】Vueが定義されていない
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする