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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1088閲覧

JQUERY・JSの置換について2

Neoko

総合スコア4

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/08/04 03:13

編集2020/08/04 04:01

HTML

1<section id="かご"> 2<ul> 3<li>みかん</li> 4<li><a href="/"><ストロベリー</a></li> 5<li>ばなな</li> 6<li>ぶどう</li> 7<li>▽▽▽ りんご</li> 8</ul> 9</section> 10 11<section id="かご"> 12<ul> 13<li>みかん</li> 14<li><a href="/">ストロベリー</a></li> 15<li>ばなな</li> 16<li>ぶどう</li> 17<li>〇〇〇 りんご</li> 18</ul> 19</section>

ダメだったコード

jquery

1jQuery(function(){ 2jQuery('#かご li').each(function(){ 3 if(jQuery(this).text()="りんご" && 4 jQuery(this).closest('ul').find('li a').text()=="ストロベリー"){ 5jQuery(this).text("ここだけアップル"); 6} 7}); 8});

かごの中の

a要素に ストロベリーがあったときだけ

りんごを 

〇〇〇や▽▽▽はそのままで

"りんご"という文字列のみを

"りんごだけアップル"に置換したいです

JQUERY で書きたいです

よろしくおねがいします

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

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

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

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

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

maisumakun

2020/08/04 03:17

すみません、何をどうしたいのかもう少し詳しく説明していただけないでしょうか? 「りんごだけアップル」という文言を、どこでどのような形で使うのかもわからないです。
maisumakun

2020/08/04 03:22

どこまでコードを書いてみましたか?
Neoko

2020/08/04 03:24

わかりずらくてすみません "りんご"という文字列を "りんごだけアップル"という文字列に置換したいです WEBの出力結果としてりんごの部分がりんごだけアップルにしたいです。 よろしくお願いします。
Neoko

2020/08/04 03:44

jQuery(function(){ jQuery('#かご li').each(function(){    if(jQuery(this).text()="りんご" &&       jQuery(this).closest('ul').find('li a').text()=="ストロベリー"){ jQuery(this).text("ここだけアップル"); } }); }); これでだめでした。 おねがいします。
miyabi_takatsuk

2020/08/04 03:47

その自身で書いたコードを質問本文に、 コードブロックを使って記載しましょう。 ```ここに言語を入力 コード ``` という形式です。 質問本文は修正できます。
Neoko

2020/08/04 03:51

ありがとうございます
guest

回答2

0

同じidは文書中にひとつだけです。

とりあえず、以下のコードで動作確認しました。

js

1$('[id=かご]:contains("ストロベリー") :contains("りんご"):not(:has(*))').each(function(_,e){ 2 e.textContent = e.textContent.replace( "りんご", "りんごだけアップル" ) 3})

投稿2020/08/04 04:06

編集2020/08/04 04:10
Lhankor_Mhy

総合スコア36960

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

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

Neoko

2020/08/04 04:16

ありがとうございます
guest

0

ベストアンサー

idはユニークにつけてください
あとはこんな感じでしょうか?

投稿2020/08/04 03:43

yambejp

総合スコア116724

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

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

yambejp

2020/08/04 03:43

$(function(){ $('li').filter(function(){ return $(this).text()=="〇〇〇 りんご" && $(this).siblings().find('a').filter(function(){ return $(this).text()=="ストロベリー"; }).length>0; }).text("りんごだけアップル"); });
Neoko

2020/08/04 03:47

ありがとうございます
Neoko

2020/08/04 04:07

いつもありがとうございます 〇〇〇の部分は▽▽▽ だったり変動し ”〇〇〇 りんごだけアップル” ”▽▽▽ りんごだけアップル” のように出力したいのですが どうすればいいでしょうか よろしくおねがいします
yambejp

2020/08/04 04:28

りんごを含んだ文字列の「りんご」を「りんごだけアップル」に変えるのですね?
Neoko

2020/08/04 04:37

そうです…おねがいします。
yambejp

2020/08/04 04:47

$(function(){ $('li').filter(function(){ return /りんご/.test($(this).text()) && $(this).siblings().find('a').filter(function(){ return $(this).text()=="ストロベリー"; }).length>0; }).text(function(){ return $(this).text().replace(/りんご/,'りんごだけアップル'); }); });
Neoko

2020/08/04 05:01

ありがとうございます
Neoko

2020/08/04 05:05

動きました…ありがとうございます…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問