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

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

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

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

jQuery

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

Q&A

解決済

2回答

2192閲覧

確認ダイアログを作っています。jQueryの文法について

dongw

総合スコア119

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/03/11 18:21

jQuery

1$(function(){ 2 $('.task').on('click', function() { 3 if(!confirm('いいですか?')) { 4 return false; 5 }; 6 }); 7}); 8

こちらの確認ダイアログを作るjQueryのコードなのですがconfirmの前にある「!」は何を意味しているのでしょうか?

またこちらのif文にはelseが存在しない仕様になっていますが、こういう書き方もありなのでしょうか?

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

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

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

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

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

guest

回答2

0

confirm関数はokボタン, キャンセルボタンとメッセージを持つダイアログを表示する関数で、okがクリックされたらtrue, キャンセルがクリックされたらfalseが返され、引数にはダイアログに表示する文字列を指定できます。そのため、論理否定演算子(!)confirm関数の返り値の結果の意味を逆にすると、okがクリックされたらfalse, キャンセルがクリックされたらtrueとなり、キャンセルされたときになにをするかを質問文にあるコードのように記述できます。

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<span class="task">テキスト</span> 15<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 16<script> 17 $(function () { 18 $(".task").on("click", function () { 19 if (!confirm("いいですか?")) { 20 return false;//キャンセルがクリックされたとき。 21 } else { 22 alert("okがクリックされました。");//okがクリックされたとき。 23 } 24 }); 25 }); 26</script> 27</body> 28</html>

投稿2017/03/11 18:37

編集2017/03/11 18:43
s8_chu

総合スコア14731

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

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

0

ベストアンサー

jQueryというよりJavaScriptの文法で、論理演算子というものの一つです。

【論理否定演算子「!」 - JavaScript(ジャバスクリプト)リファレンス】
http://alphasis.info/2013/01/javascript-operators-logical-not/

【論理 NOT 演算子 (!)(JavaScript)】
https://msdn.microsoft.com/ja-jp/library/zz722703(v=vs.94).aspx

【論理演算子 - JavaScript | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_Operators

また、elseが存在しないことは問題ありません。

【if...else - JavaScript | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/if...else

投稿2017/03/11 18:28

kei344

総合スコア69407

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

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

dongw

2017/03/11 18:50

回答ありがとうございます。 否定の意味だったのですね。 回答が早かったのでベストアンサーにさせてもらいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問