2016-03-19 10 views
0

Ich versuche, einen ganzen Block von HTML mit Javascript (keine jquery) zu löschen.Entfernen von HTML mit Javascript

Quelle

<li uib-dropdown="" class="dropdown hidden-xs"> 
       <a uib-dropdown-toggle="" class="dropdown-toggle pointer" "="" aria-haspopup="true" aria-expanded="false"> 
           <img width="22" title=" - [email protected]" height="22" class="img-rounded profile-img" src="https://www.gravatar.com/avatar/edft80b9a51f775c8ee562ca89345318b"> &nbsp; 
           <!-- <b class="caret"></b> --> 
        <i class="fa fa-caret-down"></i> 
       </a> 
       <ul class="dropdown-menu small-dropdown-menu"> 
        <li><a href="https://app.example.com/#/account">Account</a></li> 
        <li><a href="https://app.example.com/#/account/billing">Billing</a></li> 
        <li><a href="https://app.example.com/#/account/team">Team</a></li> 
        <li><a href="https://app.example.com/#/account/plans">Plans</a></li> 
        <li class="hidden-lg"><a class="pointer" title="Ask us a question, report a bug or suggest a feature!" href="mailto:[email protected]">Contact</a></li> 
           <hr> 
        <li><a target="_self" href="https://app.example.com/logout"><i class="fa fa-sign-out"></i> Logout</a></li> 
       </ul> 
       </li> 

Wunschergebnis Der gesamte Codeblock sollte

Mein Versuch

document.getElementsByClassName('dropdown hidden-xs').innerHTML = ''; 
+0

Haben Sie keine brauchen. Zwischen dem Dropdown und hidden-xs –

+0

Sie haben einen Syntaxfehler wie modox2 darauf hingewiesen. Siehe: MDN [Document.getElementsByClassName] (https://developer.mozilla.org/en/docs/Web/API/Document/getElementsByClassName) für die korrekte Verwendung. Verwenden Sie eine Schleife, um den Inhalt mehrerer Elemente zu löschen. – Roberto

Antwort

4

getElementsByClassName kehrt entfernen werden Array-ähnliches Objekt, so müssen Sie Element für den Zugriff durch den Index:

document.getElementsByClassName('dropdown hidden-xs')[0].innerHTML = ''; 
+0

Danke für den Tipp für die neue JS wie ... was ist, wenn ich jede Instance von 'class =" dropdown hidden-xs "', – user2650277

+0

Ich meine, ist da ein Schuss Weg als mit einer Schleife – user2650277

+0

@ user2650277 Ich denke Ohne eine Schleife ist das nicht möglich. Z.B. 'elements.forEach (Funktion (el) {el.innerHTML = '';})' – madox2

1

Um die html aller Elemente mit dieser Klasse '' gesetzt, werden Sie eine Schleife benötigen.

Array.prototype.forEach.call(document.getElementsByClassName('dropdown hidden-xs'), function(el) { 
    el.innerHTML = ''; 
}); 

Oder, um wirklich zu löschen, zu verwenden:

Array.prototype.forEach.call(document.getElementsByClassName('dropdown hidden-xs'), function(el) { 
    el.parentNode.removeChild(el) 
}); 
Verwandte Themen