使用Photoshop Javascript获取嵌套LayerSet

时间:2015-08-17 15:58:48

标签: javascript photoshop

我有一个嵌套的分组结构,如下所示:

TOP GROUP > NESTED GROUP > (图层到这里)

我的目标是隐藏和显示这些图层,我可以使用以下方法对顶层组执行此操作:

app.activeDocument.layerSets.getByName("TOP GROUP").visible = true;

但是,每当我尝试通过相同的脚本访问嵌套组时,我都会收到错误:

  

错误1302:没有这样的元素

我理解这是因为脚本无法找到嵌套组,因为它不是最顶层的,因为脚本不会进行任何挖掘以达到它。

那就是说,是否有一种简单的方法可以达到嵌套在另一组中的组?我知道有很多方法可以使用Action Manager来实现这一点,但我更喜欢将它保留在JavaScript中,因为我对它至少有点熟悉,而我对Action Manager没有任何经验。

1 个答案:

答案 0 :(得分:0)

layerSets是包含数组的数组。您可以递归地浏览它:

function browseLayerSets(o){

    for(var i = o.layerSets.length-1; 0 <= i; i--) {
        var layerSet = o.layerSets[i];
        // layerSet.doSomething ...
        browseLayerSets(layerSet)
    }
}

如果您确切知道自己想要什么,可以使用:

app.activeDocument.layerSets[0].layerSets[/*your item index*/].layerSets[/*your item index*/] ...