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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

309閲覧

getElementsByTagNameで取得したタグにインデックス番号以外で取得すること方法

nanashissss

総合スコア60

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/06/17 01:24

編集2022/06/17 01:44

WPにてhoge.htmlのみ概要部分のHTMLを削除しなければいけないのですが、概要部分はthemesのfooter.phpというファイルに記載されており、いじることが難しいです。

そこで以下のjsコードを記載しました。
概要部分の見出しh3と概要の詳細が記載されてるsummaryarea対してタグを追加して、cssで消す形です。

ですが、これではh3が記事内に増えたときにインデックス番号がずれてh3の見出しだけ表示されてしまいます。
なんとか概要のh3だけ記事内のh3が増えてもcssがきく方法ありませんでしょうか

※正確なHTML構造に変更

<h3><img src="img/h3_top_03.png" width="720" height="32" alt="概要" /> <span>概要</span> </h3> <div id="summaryarea" class="clearfix"> <div id="summary" class="clearfix"> <p id="name_summary">xxxxx</p> <dl class="summarytext clearfix"> <dt>xxxxx</dt><dd>xxxxx<br />xxxxx</dd> <dt>xxxxx</dt><dd><a href="tel:xxxxx" style="text-decoration: none"><span id="tel">xxxxx</span></a></dd> <dt>xxxxx</dt> <dd>xxxxx</dd> <dt id="timetable">xxxxx時間</dt> <dd><img src="xxxxx" width="333" height="184" alt="診療時間表" /></dd> </dl> </div><!--summary --> <div id="maparea"> <p id="accessmap">ACCESSMAP</p> <p id="gmap"><iframe src="xxxxx"></iframe></p> </div><!--maparea --> </div><!--summaryarea --> .summaryareaNone, .h3None { display: none !important; }
window.addEventListener('DOMContentLoaded', function(){ let url = location.pathname; const targetElement = document.getElementById('summaryarea'); const targetElement2 = document.getElementsByTagName('h3')[3]; if (url.endsWith("/puberty.html")){ targetElement.classList.add('summaryareaNone'); targetElement2.classList.add('h3None'); } //console.log(url); })

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

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

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

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

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

int32_t

2022/06/17 01:29

対象の<h3>と<div id="summaryarea">は常に隣り合う位置関係ですか?
nanashissss

2022/06/17 01:42

HTMLの方を省略から正確なHTMLに変更しました
yambejp

2022/06/17 01:56

結局やりたいことは#summaryareaの直前の(他になんのHTML要素も挟まない)h3に適当なCSSを設定できればよいのでしょうか?
nanashissss

2022/06/17 02:15

hoge.htmlのみの概要部分の見出し(h3)のみに対してcssで消すことができれば大丈夫です。 h3は固定ページの記事内で見出しとしても使用されてる共通のものとなります。 ですので、hoge.htmlの概要部分のh3に対してcssがあたる処理が必要でした
guest

回答2

0

ベストアンサー

対象の<h3><div id="summaryarea">の隣の要素のようなので、

js

1 const targetElement2 = targetElement.previousElementSibling;

でよいでしょう。

投稿2022/06/17 01:52

int32_t

総合スコア20841

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

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

nanashissss

2022/06/17 02:02

希望通りの処理になりました。ありがとうございます。助かりました。
guest

0

構造や特定できるHTML要素からの相対位置で処理すればよいでしょう

投稿2022/06/17 01:38

yambejp

総合スコア114775

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

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

nanashissss

2022/06/17 01:55 編集

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問