
下記のようなhttps://www.test.co.jp/hoge/b.htmlというページ内に同ページへのリンクが入っていたら、そのリンクが記載されている要素を非表示にするJSの記述方法をご教授いただきたいです。
JavaScriptについては初心者で多少読める程度のレベルです。
・現在のページのパスを取得
・該当のリンク要素を取得
このあたりまではわかるのですが、この要素同士を比較して要素が合致したら
該当箇所を非表示させるという方法がわからなくて行き詰っている状況です。
〇実現したいこと
現ページのURLとページ内のリンク(URL)が合致したら、
そのリンクが貼ってある要素を非表示にさせる
JavaScript
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
const path = document.location.pathname.split("/").pop("");
const link = document.querySelectorAll(".hogehoge")>li>a);
↑こちらの記述ももし間違っているようでしたらご指摘いただけると助かります。
/hoge/b.html
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<blockquote>
<ul>
<li class="hogehoge"><a href="/hoge/a.html">テキストリンクA</a></li>
<li class="hogehoge"><a href="/hoge/b.html">テキストリンクB</a></li> ← このliタグを非表示にしたい
<li class="hogehoge"><a href="/hoge/c.html">テキストリンクC</a></li>
<li class="hogehoge"><a href="/hoge/d.html">テキストリンクD</a></li>
<li class="hogehoge"><a href="/hoge/e.html">テキストリンクE</a></li>
</ul>
</blockquote>
</body>
</html>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
>現ページのURLとページ内のリンク(URL)が合致したら、
>そのリンクが貼ってある要素を非表示にさせる
比較方法をどうなさりたいのかがよくわかりませんけれど、ご提示のスクリプトではURLからpop()を取っているようなので、ひとまず最後の「ファイル名が一致するかどうか」で判断してよいものと解釈しました。
(実際には「/」で終わるURLやクェリ文字列があるもの等、いろいろありそうに思いますけれど・・・)
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<script>
window.addEventListener('DOMContentLoaded', ev=>{
const path = document.location.pathname.split('/').pop();
document.querySelectorAll('.hogehoge>a').forEach(e=>{
if(e.href.split('/').pop()==path) e.parentNode.style.display = 'none';
});
});
</script>
</head>
<body>
<blockquote>
<ul>
<li class="hogehoge"><a href="/hoge/a.html">テキストリンクA</a></li>
<li class="hogehoge"><a href="/hoge/b.html">テキストリンクB</a></li>
<li class="hogehoge"><a href="/hoge/c.html">テキストリンクC</a></li>
<li class="hogehoge"><a href="/hoge/d.html">テキストリンクD</a></li>
<li class="hogehoge"><a href="/hoge/e.html">テキストリンクE</a></li>
</ul>
</blockquote>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryプラグインのメガドロッ...
-
大至急!!HPビルダー16の専...
-
jquery 親要素以外の取得
-
jQueryスライドメニューの初歩...
-
jQueryの要素選択について
-
jQueryでスクロールボックスを...
-
jQuery faux-3D Viewportコンテ...
-
jquery 3の倍数のliだけ色を変える
-
カレントページ aタグではなく...
-
タブ切替
-
動画サイトのURLからswfを抜き...
-
jQueryで記事を6列表示にした...
-
javascript 問題と答え
-
VBAでIEのページを(メニュー...
-
ajaxローディングで取得したデ...
-
アクセスが多いページの文字を...
-
サブメニュー表示方法
-
jqueryにてIEでの不具合 each...
-
「サイト内、自動切換えタブ機...
-
JqueryFileTree.js でフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
同一ページ内で、任意の文字列...
-
タブ切り替えの初期表示について
-
ネストされたチェックボックス...
-
JQueryタブのアクティブ アン...
-
Jquery の slide.toggle で要素...
-
ホームページビルダー17のフ...
-
【javascript で動的に a タグ...
-
javascriptで正規表現の検索が...
-
JavascriptのDOMについて
-
javascript テキストエリアを1...
-
for(var i=0;...) の i の値を...
-
クリックで表示、非表示するメ...
-
jQueryで電卓を作っているのですが
-
js ライブラリ iscrollの利用に...
-
jquery ドロップダウンメニュー...
-
プルダウンのメニュー表示について
-
jQueryのhide,showで中の要素が...
-
gridstack.jsについて教えてく...
-
【HP制作】メールフォームの設...
おすすめ情報