Sto utilizzando il plug-in jQuery DataTables. Vorrei spostare la casella di ricerca (.dataTables_filter) e il numero di record per visualizzare il menu a discesa (.dataTables_length) dall'elemento padre (.dataTables_wrapper) a un altro div sulla mia pagina senza perdere alcun comportamento javascript registrato. Ad esempio, la casella di ricerca ha una funzione associata all'evento "keyup" e voglio mantenerlo intatto.Come spostare l'elemento figlio da un genitore all'altro utilizzando jQuery
Il DOM è simile al seguente:
<body>
<div id="parent1">
<div class="dataTables_wrapper" id="table1_wrapper">
<div class="dataTables_length" id="table1_length">
<select size="1" name="table1_length">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</div>
<div class="dataTables_filter" id="table1_filter">
<input type="text" class="search">
</div>
<table id="table1">
...
</table>
</div>
</div>
<div id="parent2">
<ul>
<li><a href="#">Link A</a></li>
<li><a href="#">Link B</a></li>
<li><a href="#">Link C</a></li>
</ul>
</div>
</body>
Questo è quello che vorrei DOM a guardare come dopo lo spostamento:
<body>
<div id="parent1">
<div class="dataTables_wrapper" id="table1_wrapper">
<table id="table1">
...
</table>
</div>
</div>
<div id="parent2">
<div class="dataTables_filter" id="table1_filter">
<input type="text" class="search">
</div>
<div class="dataTables_length" id="table1_length">
<select size="1" name="table1_length">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</div>
<ul>
<li><a href="#">Link A</a></li>
<li><a href="#">Link B</a></li>
<li><a href="#">Link C</a></li>
</ul>
</div>
</body>
Ho cercato al .Append() , .appendTo(), .prepend() e .prependTo() funzionano ma non hanno avuto fortuna con questi in pratica. Ho anche guardato le funzioni .parent() e .parents(), ma non riesco a codificare una soluzione praticabile. Ho anche pensato di cambiare il CSS in modo che gli elementi siano posizionati in modo assoluto, ma per essere sinceri la pagina è impostata con elementi fluidi dappertutto, e voglio davvero che questi elementi vengano fatti galleggiare nei loro nuovi genitori.
Qualsiasi aiuto con questo è molto apprezzato.
Tutte le funzioni di manipolazione DOM elencate devono funzionare correttamente. L'aggiunta di un elemento DOM a un altro genitore lo sposta nella nuova posizione mantenendo intatti tutti gli eventi. Cosa non funziona esattamente per te? C'è un errore? – Anurag