2017-04-26 2 views
0

Ich habe ein Google Doc Ich versuche, programmgesteuert zu bearbeiten, und es enthält eine paar Listen. So zum Beispiel habe ich eine Liste wie folgt aus:RemoveFromParent() auf ListItem entfernt das falsche Element

  • Hauptliste 1

    • Teilliste 1
    • Sub-Liste 2
  • Hauptliste 2

    • Unterliste 3
    • Sub-Liste 4
    • Sub-Liste 5
  • Hauptliste 3

Was ich versuche Unterliste 5, indem du den Text dann zu deinstallieren zu tun löschen ist vom Elternteil. Der Code, den ich dafür benutze, ist wie folgt:

var subList = checklistBody.findText("Sub-list 5"); 
var subElement = checklistBody.findElement(DocumentApp.ElementType.LIST_ITEM, subList); 
subElement.getElement().removeFromParent(); 

Seltsamerweise passiert hier aber, dass Main List 3 gelöscht wird. Wenn ich die findText-Anweisung ersetze, um den Text für "Sub-List 4" zu finden, wird das Element für Sub-List 5 ausgewählt und entfernt. Im Grunde scheint es immer das nächste Element anstelle desjenigen zu entfernen, wo der Text war gefunden.

Ist das ein Fehler? Oder was fehlt mir an der Auswahl von Listenelementen? Vielen Dank!

+0

Sie können einen Issue Tracker [hier] (https://issuetracker.google.com/issues/new) öffnen, um dies zu melden. – noogui

+0

Danke @noogui. Ich werde das tun, wenn niemand etwas darauf hinweisen kann, dass ich hier falsch liege. –

Antwort

0

Ich glaube, dass subList sollte bereits auf das Element zeigen, das Sie entfernen möchten. Ihr Anruf an findElement() findet das nächste Listenelement nach "Sub-list 5", das "Mail List 3" ist.

Verwandte Themen