2016-08-08 14 views
1

Ich versuche, alle Elemente der gleichen Klasse zu entfernen, aber verlassen Sie die erste. Wie kann ich das in eckigen erreichen?Entfernen Sie mehrere Elemente der gleichen Klasse in Angular aber lassen Sie zuerst

var myElement = angular.element(document.querySelector('myclass')); 
myElement.not(':first').remove() //removes element 

Dies ist der Fehler Ich erhalte: ionic.bundle.js: 21157 Typeerror: myElement.not ist keine Funktion

+0

'document.querySelector (‘. Myclass') ' – Neal

Antwort

1

Die .not() Funktion nicht in jqLite definiert ist, angular.element, Acording zu Diese docs, implementiert nicht alle jQuery Selektoren und Methoden.

UPDATE 1

Hier ist ein Beispiel.

var myElements = document.getElementsByClassName('myclass'); 

myElements = Array.prototype.slice.call(myElements); // convert htmlcollection to array 
myElements = myElements.splice(0, 1); //removes first from working list 

angular.element(myElements).remove(); //removes remaining elements from the DOM 
+0

Ja vereinbart. Gibt es einen alternativen Weg, es zu tun? Es funktioniert, wenn ich .not entferne, aber offensichtlich alle Elemente entfernt. – Jason

+0

Meine Antwort wurde mit einem Beispiel aktualisiert. Ich hoffe, es hilft. Aber es ist nur einer von vielen Ansätzen. –

+0

Brilliant Mate! – Jason

0

Wenn Sie den NodeList konvertieren von document.querySelector in ein Array zurückgegeben, können Sie den ersten indiziert Wert verschieben und tun dann ein .remove auf dem Rest.

var elements = [].slice.call(document.querySelectorAll(".myclass")); 
elements.shift(); // remove first item in the array 
for (var i=0; i < elements.length; i++) { 
    angular.element(elements[i]).remove(); // remove each element from the DOM 
} 
0

Erstellen Sie zuerst einen Klon des ersten Elements.

first_element = myElement[0].clone 

Entfernen Sie die Sammlung und verwenden Sie das Element first_element. Wenn Sie einen Unterstrich verwenden, können Sie auch wie folgt vorgehen.

_.filter(myElement, function(element,index){ return index == 0; });