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

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

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

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

jQuery

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

Q&A

解決済

4回答

1665閲覧

if文を使った文字列比較

rrrrrrr

総合スコア13

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

jQuery

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

0グッド

0クリップ

投稿2018/07/12 02:01

編集2018/07/12 02:09

if文を使った文字列比較

Jqueryでボタンを押したときニュースリストに新着ニュースを追加。
追加した新着ニュースがすでにある場合、追加をやめる。

発生している問題

文字列を比較するための文字列取得方法がわからず・・・(:;)
また、比較文もわからず・・・(:
;)

該当のソースコード

HTML

1<button id="button"> ボタン </button> 2 3<!-- 新着ニュース --> 4<ul class="List NewsList"> 5<li><span class="Time">10:43</span><a href="http://">aa</a></li> 6<li><span class="Time">10:39</span><a href="http://">aaa</a></li> 7<li><span class="Time">10:36</span><a href="http://">aaaa</a></li>
var $News='<li><span class="Time"></span><a href="https://">a</a></li>' $(function(){ $("#button").on("click",function(){ $(".NewsList").prepend($News); }); });

宜しくお願いします・・・(:_;)

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

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

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

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

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

guest

回答4

0

文字列を比較するための文字列取得方法がわからず

↑どの文字を取得/比較したいのか明示されてないので、この部分はスキップします。

また、比較文もわからず

↑普通に「==」で比べればよろし。

console.log("abc" == "abc"); // true console.log("abc" == "def"); // false

投稿2018/07/12 02:16

tkturbo

総合スコア5572

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

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

0

ベストアンサー

新着ニュースの時刻も含めてチェックをされますでしょうか?
もし、時刻はチェックせず内容のみのチェックであるのであれば
下記のような方法で比較ができると思います。

js

1var news = "追加したいニュースのテキスト"; 2 3$(function(){ 4 $("#button").on("click", function(){ 5 var target = $(".List.NewsList li a"); 6 var len = $(target).length; 7 var result = false; 8 for (var i = 0; i < len; i++) { 9 var obj = $(target).get(i); 10 if ($(obj).html() === news) { 11 result = true; 12 break; 13 } 14 } 15 16 if (result === true) { 17 // 一致する内容があったときの処理 18 } 19 }); 20});

別のやり方としては、ul内の文字列を全て取得してきて
一致する文字があるかどうかだけを見る方法でしょうか。

js

1var target = $(".List.NewsList").html(); 2var search = "検索したい文字列"; 3 4var result = target.indexOf(search) >= 0;

投稿2018/07/12 02:26

hasue

総合スコア155

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

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

0

ほぼ答え

html

1<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> 2 3 4<button id="button"> ボタン </button> 5 6<!-- 新着ニュース --> 7<ul class="List NewsList"> 8 <li><span class="Time">10:43</span><a href="http://">aa</a></li> 9 <li><span class="Time">10:39</span><a href="http://">aaa</a></li> 10 <li><span class="Time">10:36</span><a href="http://">aaaa</a></li> 11</ul> 12 13 <script> 14 // 追加する文字 15 let $News='<span class="Time"></span><a href="https://">a</a>' 16 17 // ページのロードが完了したときに実行される 18 $(function(){ 19 // 「id="button"」の要素がクリックされたら 20 $(document).on("click", '#button', function(){ 21 // すでにリストに追加されていたらtrueになる 22 let flag = false; 23 24 // ulリストの中身をすべて探索する 25 $('ul.List li').each(function(){ 26 console.log($(this).html() + ' or ' + $News); 27 if ($(this).html() === $News) { 28 // liの中身と追加したい文字列が一緒ならば 29 flag = true; 30 } 31 }); 32 33 // 追加 34 if (flag === false) { 35 $(".NewsList").prepend('<li>' + $News + '</li>'); 36 } else { 37 alert('すでに追加されています'); 38 } 39 40 }); 41 }); 42</script> 43

投稿2018/07/12 02:24

nnahito

総合スコア2004

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

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

rrrrrrr

2018/07/17 06:05

追加しようとするニュースのタイトルと同じものが既にあったら追加しない。という処理を教えていただけないでしょうか(:_;)!
guest

0

id="button"を押したときにニュース情報を取得して、class="NewsList"内の記事タイトルと同じものがあるかどうかを比較。
という流れだと思いますが、どのような形式でニュース情報を取得してくるのかといった情報が足りないため、現状では正確なアドバイスができない状態かと思います。

また、比較の際は厳密比較(===)の方がより正確ですね。

投稿2018/07/12 02:23

bfk

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問