プロパティに$をつける場合との違いについて

このQ&Aのポイント
  • Javascriptの勉強を始めたばかりで答えを得られなかったので質問します。
  • jQueryライブラリでの$の使い方について教えてください。
  • ソースコードの2行目と5行目に$oldとありますが、$をつける理由を教えてください。
回答を見る
  • ベストアンサー

プロパティに$をつける場合との違いについて

はじめまして、Javascriptの勉強を始めたばかりで 調べても答えを得られなかったので質問させてください。 jQueryライブラリを学んでいるのですが ↓行数 1:      $("Div").hover(function(){ 2:        this.$old = this.innerHTML; 3:        $(this).html("ホバー中"); 4:       },function(){ 5:        $(this).html(this.$old); 6:        }); このソースの2と5行目に$oldとありました このoldに$があってもなくても動作が変わらないのですが $をつける理由を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#137826
noname#137826
回答No.1

2,5行目の$はつけなければならない理由はありませんよ。 それらの$はjQueryの$とは関係ありません。 "$old"という名前の(一時利用のための)変数を用意しているだけです。 この変数の名前はなんでもよくて、例えば、this.anythingelseでも動くでしょう? $をつけてもつけなくても動作が変わらないのは、単に変数の名前を変えているだけだからです。

karrii
質問者

お礼

ありがとうございます!すっきりしました。 $がついて、何か意味があるのかと思っておりました。 わかりやすいご説明もありがとうございました。

関連するQ&A

  • jQueryで追加した要素がマウスホバーに反応しない

    jQueryを使って、ボタンを押すと要素を追加しています。 後から追加された要素はマウスホバーなどが有効にならないのですが、 対象方法などあるでしょうか。 下記のようなソースで質問の状態になります。 よろしくお願いします。 <html> <head> <title>test</title> <script type="text/javascript" src="system/jquery-1.3.2.min.js"></script> <script type="text/javascript"> <!-- jQuery(document).ready(function($){ jQuery(".edit").hover( function () { jQuery(this).css("background","yellow"); }, function () { jQuery(this).css("background","none"); } ); jQuery(".insert").click(function () { var html = "<div class='edit'><p>add-text</p></div>"; jQuery("#sortable .edit:first").before(html); }); }); // --> </script> </head> <body> <div><INPUT class="insert" type="button" value=INSERT></DIV> <div id="sortable" style="width:200px;"> <div class="edit"> <p>text1</p> </div> <div class="edit"> <p>text2</p> </div> <div class="edit"> <p>text3</p> </div> </div><!-- id="sortable" --> </body> </html>

  • jQueryの :not() .not() が有効になってくれない

    jQueryの :not() .not() が有効になってくれない 一部のクラスを除いて処理をしようと思っています。 notを使いたいのですが、思うように動作してくれません。 スクリプトの問題なのか、HTMLの問題なのか…。 原因究明にご協力お願いします。 http://www.wp-start.com/jquery_test/test2.html 詳しくはソースを見て頂きたいのですが… http://www.wp-start.com/jquery_test/function.js マウスホバーとマウスクリックで クラス _e,_h でアクションを起こします。 でも、クラス _bigbox に入っている _e,_h は無反応にしたいのです。 このソースは問題部分だけを抽出しています。 notの逆に個別に指定するのは極めて煩雑になってしまいます。 できればjQueryのnotで解決したいと考えています。 よろしくお願いします。 以下、ソースの一部です。 -------------------------------------------------- //_hクラス $("div:not(._bigbox) ._h").hover( function () {$(this).css("border","2px solid red") }, function () {$(this).css("border","none") } ); //_hクラス  $("div").not("._bigbox").find("._h").click(function () { alert("click _h"); });

  • JQUERYについて教えてください。

    JQUERYについて教えてください。 readyがDOMを読み終わってから実行しろという意味は分かったのですが、 あったりなかったりするfunction()はどんな意味なのでしょうか? function(){ $(this).stop().animate({'marginBottom':'60px'},150); },function(){ $(this).stop().animate({'marginBottom':'0px'},120); こちらにあるのですがメソッドに一個必須なのでしょうか? 例 <script type="text/javascript"> $(document).ready(function(){ $('div#goto_top').hover( function(){ $(this).stop().animate({'marginBottom':'60px'},150); },function(){ $(this).stop().animate({'marginBottom':'0px'},120); </script>

  • 【JS(Jquery)】表示切替 show(); hide();

    お世話になります。 ただ今JSのライブラリ(Jquery)を利用してあるプログラムを書いております。 以下がそのスクリプトとなり、内容は、 配列「tBtn」の1番目がホバーされたら 配列「tBlo」の1番目を表示し、「tBlo」の1番目以外は非表示にする。 配列「tBtn」の2番目がホバーされたら 配列「tBlo」の2番目を表示し、…以下省略。 配列「tBtn」の1番目がホバーされたら 配列「tBlo」の1番目を表示するという動作は理解できるのですが、 「tBlo」の1番目以外を非表示にするにはどういう書き方をすれば よろしいでしょうか。 どなたかお知恵をお貸しください。 $(function(){ var tBtn = new Array( 'hk', 'tk', 'ho' , 'kt' ); var tBlo = new Array( 'test1', 'test2', 'test3' , 'test4' ); $.each(tBtn, function(i, item) { $("#" + this).hover(function(){ /* if(this != tBtn[i]){ $("#" + tBlo[i]).fadeOut(); } */ },function(){ return false; }); }); });

  • ネスケでjavascriptを動作させたいのですが・・・

    こんにちは。 javascriptである画像をクリックすると、任意の場所にその画像を説明 するテキスト文を表示させる、ということをしたいのですが、IE、mozilla ではそれができるのですが、ネスケではどうしたものかテキスト文が表示 されません。 ソースは以下を使用しています。 <script language="Javascript"> function Click_Sub1() {   document.all.div1.innerHTML="出た!"; } function Click_Sub2() {   document.all.div1.innerHTML="消えた!?"; } function Click_Sub3() {   document.all.div1.innerHTML="出た!"; } function Click_Sub4() {   document.all.div1.innerHTML="でてるよ・・・"; } function Click_Sub5() {   document.all.div1.innerHTML="ひいー"; } function Click_Sub6() {   document.all.div1.innerHTML="わおわおわお~"; } </script> これを<head>内に記述して、<body>内の任意の場所に <DIV id="div1" STYLE="position:absolute;left:164px;top:477px; width: 469px; height: 69px;"></DIV> としています。 このソースではネスケはたとえば上の「出た!」といったテキスト文が まったく表示されません。ネスケの「仕様」なのか、ネスケでも実現できる のか、できるとしたらどのような指定方法なのか、ご存知の方がいたらご教授 願います。よろしくお願いします。 色々調べたのですが、コピペできるソースを配布してる素材やさんでも サンプルをネスケで閲覧するとやっぱりでない、という状況なので、なかなか 難しいのでしょうか・・・。

  • jqueryにて

    こちらではお初にお世話になります。 よろしくおねがいします! さて、jqueryを用いてScrollFollowを実装中なのですが、 正常に動作させることが出来ません。 ソースは <script type="text/javascript" src="./jslib/ui.core.js"></script> <script type="text/javascript" src="./jslib/jquery-1.2.6.js"></script> <script type="text/javascript" src="./jslib/jquery.scrollfollow.js"></script> <script type="text/javascript" src="./jslib/jquery.easing.1.3.js"></script> <script type="text/javascript" src="./jslib/jquery.cookie.js"></script> <script type="text/javascript"> $( document ).ready( function (){ $('test').scrollFollow({ }); }); </script> をヘッド部分に、 <div id="test"> コンテンツ </div> をBODYに記述しています。 動作せずにFirefoxのエラーコンソールで確認したところ エラー: jQuery is not defined ソースファイル: (省略)update/jslib/ui.core.js 行: 238 エラー: $("test").scrollFollow is not a function ソースファイル: http://contest2009.thinkquest.jp/tqj2009/110392/update/ 行: 13 と表示されました。jsファイルの生存は確認できており、 その系統のミスではないと思うのですが。。。 どなたかアドバイスをお願いします!

  • jquery ドロップダウン・メニュー

    jquery ドロップダウン・メニュー ドロップダウン・メニューを作成しています。一番最後のtwitter部分だけにクリック動作を適用させたいのですが、 思うように表示が出来ません。 どうしたらいいのか、教えてください。 <script src="/jquery/jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $('li.twitter').click(function() { if ($(this).hasClass('click')) { $(this).removeClass('click'); } else { $('.click').removeClass('click'); $(this).addClass('click'); } }); $('div.drop').hover( function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); }); }); </script> <div id="feed"> <ul class="aux"> <li class="rss1"> <a href="http">RSS1</a> </li> <li class="rss2"> <a href="http">RSS2</a> </li> <li class="rss3"> <a href="http">RSS3</a> </li> <li class="twitter"> <a href="#"><span>Twitter</span></a> <div class="drop"> <p><strong>TW1</strong> <a href="http://www.twitter.com/●●" target="_blank"><img src="http://abcde/a.png" />Follow Me</a> </p> <p> <strong>TW2</strong> <a href="http://www.twitter.com/●●●●●" target="_blank"><img src="http://abcde/b.jpg" />Follow Me</a> </p> </div> </li> </ul> </div>

  • javascriptについて教えてください。

    divのボタンを作りたいと思い、調べながらjQueryを使う方法は以下のようにしたらいい事は分かったのですが、jQueryを使わずにしようと思い $(function(){ $("div").click(function(){ var x = this.id; alert(x); }); }); の部分を document.getElementsByTagName("div").onclick = function(){ var x = this.id;  alert(x); }; としてみたのですが、うまくいきません。jQueryを使わずに同じようなボタンを作るにはどうしたらいいのでしょうか? <!doctype html> <html> <head> <meta charset="UTF-8"> <title>無題ドキュメント</title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script> <script type="text/javascript" language="javascript"> $(function(){ $("div").click(function(){ var x = this.id; alert(x); }); }); </script> </head> <body> <div id="aaa" class="div_link">a</div> <div id="bbb" class="div_link">b</div> <div id="ccc" class="div_link">c</div> <div id="ddd" class="div_link">d</div> <div id="eee" class="div_link">e</div> </body> </html>

  • Jqueryの$.getで目当ての外部ファイルを読

    jqueryの$.getで目当ての外部ファイルを読み込む方法でつまづいてしまいました。 searchファイル (resultsファイルを非同期通信で読み込むはずなのですが、読み込んでくれません。) <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> function getContents(){ //http://localhost/hoge/results/color_id:をブラウザ上で開くとファイルが返ってきます var http = $.get("http://localhost/hoge/results/color_id:",null, function(data) {$("#main").html(data);}); } </script> //読み込んだデータが表示される箇所なんですが・・・ <div id="main"></div> http://anond.hatelabo.jp/20101206224349 このサイトに書かれているとおりに外部のHTMLを読み込む事むJqueryを書いたのですが、全く反応してくれません。 何か間違っているのでしょうか?

  • jQueryのドロップダウンメニューについて

    jQueryを勉強しながらいろいろと実装してみているのですが、わからないことが出てきたので質問させていただきます。 今、ドロップダウンメニューを付けていて、とりあえず形にはなり、動作もしています。 ただ、ナビにカーソルかざしたときにペロンっと出てくるのはいいのですが、何度もカーソルをかざすと、その後かざした分だけ勝手にペロンペロンしてしまいます。 かざした時だけ現れるようにするには、どうすればいいのでしょうか? 現状のjavascriptの部分は以下のように記述しています。 $(document).ready(function () { $('#nav li').hover( function () { $('ul', this).slideDown(500); }, function () { $('ul', this).slideUp(500); } ); });

専門家に質問してみよう