x.appendChild 不是函数 (JSX)

x.appendChild is not a function (JSX)

我在这里可能遗漏了什么?
这将是 运行 在 Adob​​e InDesign 上。

我遇到问题的代码:

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

调试器returns:

x.appendChild is not a function

这是屏幕截图::

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

x = "<formField/>";

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

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

但是由于 ExtendScript 提供了 E4X,或者换句话说,XML 作为 Javascript 对象,您可以简单地使用:

x = <formField/>;

现在你可以走了:

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

瞧瞧…