2013-04-02 41 views
0

如何將yai2中的代碼遷移到yui3?Yui2 Yui3實現

Yui2:

this._suspensionPlanPanel = document.getElementById("rn_"+this.instanceID+"_SuspensionPlanPanel"); 
var td_list = YAHOO.util.Dom.getElementsByClassName("rn_SuspensionPlan_Target","td",this._suspensionPlanPanel); 
this._suspensionPlanTargetTemplate = td_list[0]; 

我已經試過了圖靈到這個(YUI3):

this._suspensionPlanPanel = this.Y.one(this.baseSelector+"_SuspensionPlanPanel"); 
var td_list = this.Y.all(this._suspensionPlanPanel.get('id') + ' td.rn_SuspensionPlan_Target'); 
this._suspensionPlanTargetTemplate = td_list[0]; 

但它讓出來作爲undifined。 Console.loging td_list給我的信息:

undefined: not bound to any nodes { _query="rn_SuspensionForm_12_Su....rn_SuspensionPlan_Time", _nodes=[0], invoke=function(), more...} 

我在這裏錯過了什麼?

回答

0
  1. 我不確定你的代碼在這個示例之前是什麼樣的,但Y對象不應該附加到'this'。

  2. Y.one()採用CSS選擇器字符串,而不是純字符串ID。如果您之前調用document.getElementById('foo'),則YUI3等效項爲Y.one('#foo')。

請務必閱讀YUI節點用戶指南http://yuilibrary.com/yui/docs/node/瞭解更多上下文和示例。祝你好運!