<s>循环通过nth-child </s>循环切换开关功能

时间:2018-03-29 07:37:11

标签: javascript jquery loops for-loop extendscript

我从一个循环创建一个表,其中第一个cel具有变量值,而行中剩余的cels具有相同的值。

所以我一开始写了它,但我现在想把它改成一个更聪明的循环。 我认为应该可以使用CREATE DEFINER=`root`@`localhost` TRIGGER `IpAn`.`A_tbl_BEFORE_INSERT` BEFORE INSERT ON `A_tbl` FOR EACH ROW BEGIN INSERT IGNORE INTO source_names (source_name) VALUES (NEW.source_name); INSERT IGNORE INTO locations (loc1,loc2) VALUES (loc1,loc2); SET @source_names_id = (select id from source_names USE INDEX (PRIMARY) where source_name=NEW.source_name); SET @locations_id = (select id from locations USE INDEX (PRIMARY) where loc1=NEW.loc1 and loc2=NEW.loc2); ... END 值,因为剩余的单元格具有相同的值 这是基础:

nt-child

我正在使用带有InDesign的ExtendScript,但这对逻辑来说并不重要。我真的不知道该怎么做。

所以我在代码上取得了一些进展,现在我正处于一个我想通过for(i=0; i<TableElementes.length; i++){ var myColumnsSet = myTableElements[i].columns.everyItem().getElements(); if(myColumnsSet.length == 2) { myTableElements[i].columns.item(0).width = 68; myTableElements[i].columns.item(1).width = 16; } if(myColumnsSet.length == 3) { myTableElements[i].columns.item(0).width = 52; myTableElements[i].columns.item(1).width = 16; myTableElements[i].columns.item(2).width = 16; } } 函数循环的阶段。 有什么想法吗?

switch

};

1 个答案:

答案 0 :(得分:0)

代替switch语句循环,可能更容易将所需宽度存储在数组中,索引方式与switch依赖的相同于:

var theWidths = [0, 0, 68, 52, 36, 110, 94, 78, 62, 46, 30]

for (i = 0; i < myTableElements.length; i++) {
  var myColumnsSet = myTableElements[i].columns.everyItem().getElements();
  for (a = 1; a < myColumnsSet.length; a++) {
    myTableElements[i].columns.item(a).width = 16;
    // if necessary, check here to make sure myColumnsSet.length is between 2 and 10
    myTableElements[i].columns.item(0).width = theWidths[myColumnsSet.length];
  }
}