2012-03-16 20 views
0

私はJavascriptの初心者ですが、変数名を使用してオブジェクト関数にアクセスしようとしましたが、エラーが発生しました。これは私がここでworngしていることを私に訂正することができる場合、これはちょうどダミーコードです。何が最良の方法です。 // stackoverflowの:あなたが名前を変数に持つプロパティにアクセスしたい場合は変数名を使用してオブジェクト関数にアクセスできませんか?

<html> 
    <head> 
     <title>Pub/Sub Test</title> 
    </head> 
    <body> 
     <div id="wrap1" data-components="tooltip"> 
      <p><h1>pubsubz Test</h1> 
      <p>Run with Firebug or a console simulator open.</p></p> 
     </div> 
     <div id="wrap2" data-components="tooltip"> 
      <p><h1>pubsubz Test</h1> 
      <p>Run with Firebug or a console simulator open.</p></p> 
     </div> 
     <div id="wrap3" data-components="tooltip"> 
      <p><h1>pubsubz Test</h1> 
      <p>Run with Firebug or a console simulator open.</p></p> 
     </div> 

     <script type="text/javascript" src="jquery-1.6.4.min.js"></script> 

     <script> 
      var r=r||{}; 
      (function(tooltip,$,w,d,undefined){ 
       var pos, 
       attr="data-options", 
       defaultSetting = { 
        horizontal : true, 
        vertical : "above" 
       }; 
       tooltip.init = function($el){ 
        alert("hello"); 
       } 
      })(r.tooltip = r.tooltip || {},jQuery,window,document); 

      (function(r,$){ 
       var els = { 
        $body : $('body') 
       }; 
       // identify modules 
       var $modules = els.$body.find('[data-components]'); 
       // create queue from modules 
       $modules.each(function(i,v){ 
        var $module=$(this).data('components'); //value = tooltip 
        //want to excute r.tooltip.init() function but there is some error - $module contain value tooltip 
        r.$module.init(); 
       }); 
      })(r=r||{},jQuery); 
     </script> 
    </body> 
</html> 
+0

が重複する可能性があります。 com/questions/1567278/use-javascript-variable-in-object-name)または[javascript object、access variable property name?](http://stackoverflow.com/questions/4255472/javascript-object-access-variable-プロパティ名)または[javascriptオブジェクトプロパティの一部として変数を使用する](http://stackoverflow.com/questions/4773897/using-a-variable-as-part-of-a-javascript-object-property) – Matt

+0

動的値の場合はできませんドット表記でプロパティにアクセスし、Jonが述べたようにプロパティにアクセスします。 – Ehtesham

答えて

5

、正しいフォームでは、[使用オブジェクト名ではJavaScript変数](HTTPの

r[$module].init(); 
+0

ありがとうございました...はい、それは働いています:)...ありがとう – Nidhi

関連する問題