0

您如何将此代码从 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];

但它总是以未定义的形式出现。Console.loging td_list 给了我消息:

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

我在这里想念什么?

4

1 回答 1

0
  1. 我不确定您在此示例之前的代码是什么样的,但 Y 对象可能不应该附加到“this”。

  2. Y.one() 采用 CSS 选择器字符串,而不是纯字符串 ID。如果您之前调用过 document.getElementById('foo'),则 YUI3 等效项是 Y.one('#foo')。

请务必阅读http://yuilibrary.com/yui/docs/node/上的 YUI 节点用户指南以获取更多上下文和示例。祝你好运!

于 2013-04-02T03:28:48.497 回答