2017-07-21 9 views
0

削除しようとしている不要な大量の下位ブックマークがあります。 forループは最後の下位レベルのブックマークのみを返すので、私は理由を知りません。javacriptを使用してpdfのブックマークを削除するためのループを作成する

// 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()
<!-- Please replace me with example HTML -->

+0

、あなたのコードに感謝 –

答えて

1

を試してみて、それは次のとおりです。私は、私は以下の使っていたコードを持っていますあなたが最後のものだけを取り除く理由。

すべての子のループ内でremoveを呼び出すだけです。

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

はあなたがremoveMe上書き各in​​terationについては、この

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(); 
} 
+0

'それはlet''と 'var'ないと宣言されているためremoveMe'がループの外に見えるのHTMLを追加してくださいでした。 'var'宣言は、ブロックスコープではない関数です。 – Roman

+0

ooop、そうです、私の間違い –

関連する問題