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

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

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

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

Q&A

解決済

3回答

160閲覧

js 変数の中身が一致しているようなのに、ifの条件を満たさない

ink88882

総合スコア24

JavaScript

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

0グッド

1クリップ

投稿2019/04/10 15:31

編集2019/04/10 16:45

jsで、あるページの中で下記のようなコードを書いております。
※一部サンプル

js

1$(function(){ 2var $jsShowMsg = $('#js-show-msg'); 3var msg = $jsShowMsg.text(); 4 5console.log(msg); 6if(msg == 'test'){ 7 console.log("成功の場合"); 8}else{ 9 console.log("失敗の場合"); 10} 11});

msgのconsole.logでは「test」と出力されているので、msgにはtestが入っているかと思うのですが
なぜかelse側の失敗の場合の内容がconsoleに出力されます。

なお、ifのところを下記のようにすると、
成功の場合のconsole.logを行います。

if(msg){
console.log("成功の場合");
}else{
console.log("失敗の場合");
}

なので、やはりきちんとmsgにはテキストは入力されているように思います。
何か考えられることがないか、アドバイスをいただけますと助かります。

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

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

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

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

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

m.ts10806

2019/04/11 00:22

htmlと実際に入力されている情報をご提示ください。
m.ts10806

2019/04/11 00:23

あ、text()だから入力じゃなくて表示か。html全体ご提示ください。
guest

回答3

0

msgのバイト長さを確認してみてください

javascript

1String.prototype.getBytes = function () { 2 return(encodeURIComponent(this).replace(/%../g,"x").length); 3} 4var msg="test"; 5console.log(msg.getBytes());

投稿2019/04/11 00:30

編集2019/04/11 01:42
yambejp

総合スコア114572

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

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

ink88882

2019/04/11 16:55

ありがとうございます。取得したキーワードにスペースが入っていたようです。
guest

0

js 変数の中身が一致しているようなのに、ifの条件を満たさない

「一致している」という思い込みを捨てて、「どこかが一致してないはず」という観点で確認してみて下さい。

JavaScript

1console.log(typeof msg); 2console.log(Object.prototype.toString.call(msg)); 3console.log(JSON.stringify(msg));

Re: hiyobashi さん

投稿2019/04/11 03:29

think49

総合スコア18156

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

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

ink88882

2019/04/11 16:55

ありがとうございます。取得したキーワードにスペースが入っていたようです。
guest

0

ベストアンサー

改行やスペースでは?

【String.prototype.trim() - JavaScript | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/trim

投稿2019/04/10 15:40

kei344

総合スコア69364

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

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

ink88882

2019/04/11 16:55

ありがとうございます!こちらの内容が原因だったようです。trimでうまくいきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問