Ho un contenitore HTML con alcuni contenuti, tra cui testi nodi e altri tag:jQuery: nascondere tutto in un contenitore, ad eccezione di un nodo
<div id="container">
A text outside any tag<br/>
<input type="button" id="iii" value="xxx"/>
Another text<br/>
<a href="#">A link</a>
</div>
voglio usare jQuery per nascondere tutto in tale contenitore, tranne il tag di input.
// Hide all the node
$("#container").contents().hide();
// First try to hide texts
$("#container").contents().filter(":text").hide();
// Second try
$("#container").contents().filter(function() {
return this.nodeType === 3;
}).hide();
// Show the desired element
$("#container #iii").show();
Il collegamento "A link" viene rimosso, ma i testi prima e dopo l'input rimangono ancora.
Qual è il modo giusto per nascondere un testo che è figlio diretto di un elemento DOM?
È possibile play with that example on jsfiddle
Vorrei aggiungere tutto all'interno del contenitore che voglio nascondere all'interno di sotto-contenitori di una classe e tutto ciò che non voglio nascondere all'interno di sotto-contenitori di un'altra classe. Oppure, crea due copie dell'intero contenitore, la seconda copia contiene solo gli elementi che non voglio nascondere e inizia nascosto, o dimentica di nascondere/mostrare e solo l'utente jQuery per generare il contenuto del contenitore in base a qualsiasi condizione tu desiderio. – SunKnight0
qual è la ragione per cui non inserisci testo in nessun tag – Gacci
Il motivo è che non ho il controllo sulla generazione di questo html. È generato da un framework che non sono autorizzato a modificare – Antwane