2012-04-11 15 views
1

Wie würde ich alle HTML-Tags mit jquery ausblenden. Nicht entfernen, sondern verstecken. Müsste ich jedes Tag individuell spezifizieren oder gibt es eine robustere/skalierbare Lösung?Alle HTML-Tags ausblenden (nicht entfernen) - Jquery

Beispiel String:

My name is <b>Joe</b> and I like <span style="color:red;">long walks</span> on the <i>beach</i>. 

Ergebnis

My name is and I like on the . 
+0

Was meinen Sie? Ich denke, Sie wollen sie tatsächlich entfernen und beide Versionen in Variablen behalten. – Brad

+0

Ich möchte sie nur verstecken. Ist das möglich? – Joe

+0

Hide _all_ HTML-Tags? Für welchen Zweck? – Sparky

Antwort

5

Sie können die Kinder alle verstecken Elemente eines bestimmten übergeordneten.

Da die Nachkommen von versteckten Elemente werden nicht ohnehin gezeigt werden, gibt es keine Notwendigkeit, alle von ihnen iterieren mit find("*"):

$("#theParent").children().hide(); 

Oder alternativ als gdoron schlägt vor:

$("#theParent > *").hide(); 

Das oben genannte könnte schneller sein, da es einen reinen CSS-Selektor verwendet.

+0

Ich denke '$ ('# parent> *'). Hide();' sollte der schnellste Weg sein. – gdoron

+0

@Joe. Nein, es ist in Ordnung, so wie es jetzt ist. – gdoron

2

Es klingt, als ob Sie die Nachkommen eines bestimmten enthaltenden Elements verbergen möchten.

$(container).find('*').hide(); 

jQuery hat auch eine Kurzform dafür:

$('*', container).hide(); 
4

$('*').hide() Alle Tags für die gesamte Dokument entfernen würde. $('#parent *').hide() Alle Elemente in einem übergeordneten Element.

+0

Ich denke '$ ('# parent> *'). Hide()' sollte der schnellste Weg sein. – gdoron

1

Sie können etwas wie $('p *').hide() tun, wenn der gesamte Text in einem <p> Element ist.

Wenn Sie nur wollen, dass sie verstecken, aber immer noch Platz in Anspruch nehmen, stellen ihre Sichtbarkeit

$('p *').css('visibility', 'hidden'); 

Die Elemente versteckt wird immer noch Platz in Anspruch nehmen, aber nicht sichtbar sein wird.

0

Es ist einfach, solange Sie einen übergeordneten Container haben :)

<div id='myDiv'> 
    My name is <b>Joe</b> and I like <span style="color:red;">long walks</span> on the <i>beach</i>. 
</div> 

<script> 
    $('#myDiv:child').hide(); 
</script> 
Verwandte Themen