【问题标题】:Creating loop to delete bookmarks in pdf using javascript使用javascript创建循环以删除pdf中的书签
【发布时间】:2017-07-21 16:50:01
【问题描述】:

我正在尝试删除不必要的大量低级书签。 for 循环只返回最后一个较低级别的书签,我不知道为什么。我有我在下面使用的代码:

// Calling the bookmarks
var bm = this.bookmarkRoot; 

//getting the length of the lower level bookmarks
var bmlength = bm.children[0].children[0].children.length; 

// attempting to gather all the bookmarks to delete
for (var i=0; i < bmlength; i++){
var removeMe=bm.children[0].children[0].children[i];
}
removeMe.remove() 
&lt;!-- Please replace me with example HTML --&gt;

【问题讨论】:

  • 能否将 html 添加到您的代码中,谢谢

标签: javascript loops pdf adobe document


【解决方案1】:

试试这个

for (var i=0; i < bmlength; i++){
   var removeMe=bm.children[0].children[0].children[i];
   removeMe.remove() 
}

或者这个

for (var i=0; i < bmlength; i++){
   bm.children[0].children[0].children[i].remove();
}

【讨论】:

  • removeMe 在循环外可见,因为它是用var 声明的,而不是用let 声明的。 var 声明是函数不是块作用域
【解决方案2】:

对于每个交互,您都会覆盖removeMe,这就是您只删除最后一个的原因。

只需在每个孩子的循环内调用 remove。

for (var i = 0; i < bmlength; i++){
    bm.children[0].children[0].children[i].remove();
}

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多