x.appendChild不是函数(JSX)

时间:2018-08-05 16:48:44

标签: adobe jsx

我在这里可能想念什么?
该文件将在Adobe InDesign上运行。

我遇到问题的代码:

x = "<formField/>";
x.appendChild("<name>" + ff.name; + "</name>");
x.appendChild("<type>" + String(ff.constructor.name); + "</type>");

调试器返回:

x.appendChild is not a function

这是屏幕截图::

Screenshot from the bug

1 个答案:

答案 0 :(得分:0)

您的问题出在变量声明中。

x = "<formField/>";

这时x是一个String实例。字符串没有appendChild方法。 您需要将String转换为XML Object实例。这具有appendChild方法。

x = XML ( "<formField/>" );

但是因为ExtendScript提供了E4X,或者说XML作为Javascript对象,所以您可以简单地使用:

x = <formField/>;

现在您可以自由进行:

x.appendChild ( <name>{ff.name}</name> );

Voilà…