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

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

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

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

jQuery

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

Q&A

解決済

2回答

486閲覧

tr.flagのflagとはどういう機能でしょうか。

taka_oct092018

総合スコア133

JavaScript

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

jQuery

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

0グッド

1クリップ

投稿2022/10/27 14:32

いろんな専門書・ウェブサイトで調べてみましたが、まったく見つかりません。
よろしくお願い致します。
「改訂新版jQuery本格入門_サンプルコード_P255」より

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>on/offによるメソッドの統一</title> <script src="../lib/jquery-1.11.1.min.js"></script> </head> <body> <div> <a href="http://jquery.com/">jQuery</a> <form><table></table></form> </div> <script>// <![CDATA[ // イベントハンドラ var handler = function() { return confirm($(this).text() + '(' + this.href + ')に移動しますか?'); }; // ラジオボタンの選択により実行されるメソッド var methods = { bind: function() { $('a').bind('click', handler); }, unbind: function() { $('a').unbind('click', handler); }, delegate: function() { $('div').delegate('a', 'click', handler); }, undelegate: function() { $('div').undelegate('a', 'click'); }, on: function() { $('div').on('click', 'a', handler); }, off: function() { $('div').off('click', 'a', handler); }, 'on-obj': function() { $('a').on({click: handler}); }, 'off-obj': function() { $('a').off({click: handler}); } } // フォームとラジオボタンの設定 $('form').on('submit', false); // bindに相当 $(document).on('change', 'form input[type="radio"]', function() { // $(document)はまだ存在しない要素に登録(予約)する場合 methods[this.value](); }); // ラジオボタン(<input type="radio">)の追加 var tr, form = $('form'), tbody = $.support.tbody ? $('form table') : $('<tbody>').appendTo('form table'); $.each(methods, function(key, value) { var id = 'radio-' + key; tr = tr && tr.flag ? tr : $('<tr>').appendTo(tbody); // 疑問の箇所 var td = $('<td>').appendTo(tr); $('<input>', {id: id, type: 'radio', name: 'methods', val: key}).appendTo(td); $('<label>', {for: id, text: key}).appendTo(td); tr.flag = !tr.flag; }); // ]]></script> </body> </html>

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

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

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

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

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

guest

回答2

0

そのあとの
tr.flag = !tr.flag;
と連動して確認すると意味が出てくるようになっています。

JavaScriptではオブジェクトに対してプロパティを勝手に設定できるので、

JavaScript

1let obj = {}; 2 3obj.a = "1"; 4obj.b = "2"; 5 6console.log(obj);

それっぽい名前(flag = フラグ)をつけて真偽値を入れ、何かの判定に使うようなことはよくあります。

※注意するべき点は、上書きしてしまうので、そのオブジェクトが元から持っているプロパティや機能に対して行わないように配慮すべきという点。

書籍であれば何かしらヒントとなる解説はあるはずですよ。
そのままでなくても、プロパティについての解説とか、どういう意図で書いているコードなのかとか。

投稿2022/10/28 00:22

m.ts10806

総合スコア80850

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

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

taka_oct092018

2022/10/31 09:12

m.ts10806様、返信ありがとうございます。 console.log()で変数・プロパティの値を調べてみました。 <td>と<label>のセットを<tr>に追加するごとに、flagの真偽値が反転する仕組みになっていました。
guest

0

ベストアンサー

勝手に作ったプロパティで、JavaScript的な意味はありません。

投稿2022/10/27 14:43

maisumakun

総合スコア145183

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

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

taka_oct092018

2022/10/31 09:11

maisumakun様、いつもアドバイスありがとうございます。 flagという意味のある単語なので、特定の機能を有しているものと思い込んでいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問