使用selectedLayers属性过滤文本层

时间:2019-03-02 12:41:25

标签: extendscript

我试图检查层的类型,以确保我的函数调用仅适用于选定层中的文本层(选定层数为数百)。看来我在使用typeOf方法时犯了一些错误。有人可以帮忙吗?

var myComp = app.project.activeItem;
var selectedLayers = myComp.selectedLayers;
var numLayers = selectedLayers.length;

    for(var i=0; i < numLayers; i++){
        var mySourceText = selectedLayers[i].property("ADBE Text Properties").property("ADBE Text Document");
        var myTextDoc = mySourceText.value;
             if (typeOf(selectedLayers[i]) == "TextLayer") {
                mySourceText.setValue(trim(myTextDoc));
            }
     }

function trim(strValue){
    var str = new String(strValue);
    return str.replace(/(^\s*)|(\s*$)/g,"");
}

1 个答案:

答案 0 :(得分:1)

您想要的正确布尔测试是

if (selectedLayers[i] instanceof TextLayer) {

instanceofTextLayer中没有引号。