🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

Q&A

解決済

3回答

599閲覧

HTMLから文字列を削除(見えなくする)

sphy

総合スコア21

JavaScript

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

0グッド

0クリップ

投稿2019/09/20 09:24

編集2019/09/20 09:31

HTMLを部分的にしか編集できないため、
編集可能なフッターにJAVAScriptを設置して
特定の文字列を削除したい(見えなくしたい)と思っています。

<body> <div><span><a>bbbbbb</a></span></div> <div><span><a>cccccc</a></span></div> <footer> <sprict> ~~~ここに設置~~~ </script> </footer> </body>

サイトにアクセスした直後に、
ccccccを消す、もしくは見えなくしたいです。

また、タグにIDなどがないため、Xpathで指定??と思っていますが、
クラスを指定せず、文字列だけを指定して
削除、もしくは見えないようにすることは可能でしょうか。

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

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

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

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

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

guest

回答3

0

ベストアンサー

大雑把にやってよいなら、

js

1document.body.innerHTML = document.body.innerHTML.replace("cccccc","");

これではダメなら、全部のノードをなめて置換するという、そこそこ面倒なことをしないといけないと思います。

まさかBAになるとは思っていなかったのであわてて追記

色々問題が起きる可能性があると思うので、↓こっちがいいと思います。

js

1function test(node){ 2 if (node.nodeType === Node.TEXT_NODE){ 3 return node.nodeValue = node.nodeValue.replace("cccccc",""); 4 } 5 return node.childNodes.forEach( test ); 6} 7test(document.body);

投稿2019/09/20 09:48

編集2019/09/20 09:58
Lhankor_Mhy

総合スコア36930

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

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

sphy

2019/09/20 09:55

シンプルでわかりすいです。 ありがとうございます。
guest

0

JavaScript

1document.querySelector('div+div').remove();

https://developer.mozilla.org/ja/docs/Web/API/ChildNode/remove

投稿2019/09/20 09:32

x_x

総合スコア13749

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

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

0

HTMLが編集できない

のであれば、何もできません。
何なら編集できるか明示したほうがよいでしょう。
(CSSやJSならいけるとか・・・)

sample

javascript

1<body> 2<div><span><a>bbbbbb</a></span></div> 3<div><span><a>cccccc</a></span></div> 4<div><span><a>dddddd</a></span></div> 5<footer> 6<script> 7window.addEventListener('DOMContentLoaded', ()=>{ 8 [].forEach.call(document.querySelectorAll('div span a'),x=>{ 9 if(x.textContent=="cccccc"){ 10 x.style.display="none"; 11 }; 12 }) 13}); 14</script> 15</footer>

投稿2019/09/20 09:27

編集2019/09/20 09:47
yambejp

総合スコア116688

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

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

sphy

2019/09/20 09:37

他社のカートサービス上のことなのですが、 主体となっている部分のHTMLは編集できず、 フッターなどは編集できます。
yambejp

2019/09/20 09:41 編集

フッターにjsやcssは書き込め、それが有効に反映されるのでしょうか?
sphy

2019/09/20 09:42

そのとおりです。 わかりにくい説明で申し訳ありません。
yambejp

2019/09/20 09:48

sample追記しました。 こういうことですかね?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問