按名称查找图层后查找图层的索引号

时间:2016-07-25 00:32:09

标签: javascript object layer indexof adobe-illustrator

我理解图层名称只能作为对象访问。但有没有办法使用该对象名称来查找数组中的索引位置?换句话说,我在文件中有多个图层。我想找到一个特定的图层,锁定并更改其上方所有图层的可见性,并解锁并更改其下方所有图层的可见性。我将始终寻找相同的图层,但总图层数从一个作业变为另一个作业。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

只需遍历所有图层并检查每个图层是否与您的名字匹配..如果它确实保存了索引(当前循环次数)。

// get index (from top layer down) of named layer... expects only one layer  with this name
// name of layer you are looking for
var targetLayerName = 'name'  

var targetDocument = app.activeDocument;
var layerCount = targetDocument.layers.length;
var namedLayerIndex = 0;
// loop through layers and find the named layer
for ( i = 0; i < layerCount; i++ ) {
    if (targetDocument.layers[i].name == targetLayerName) {
        namedLayerIndex = i;
    }
}