I'm trying to find a way to decode the HTML code of a div
cloned using jQuery.
The original div
is dynamically generated by AngularJS variables, and I would like to display its cloned version in a <pre>
element in order to display the DOM obtained as a result of user input.
$(document).ready(function() {
$('#cloneIt').on('click', function() {
$('#clone').children().clone().appendTo("pre");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="clone" class="hidden">
<table>
<tbody>
<tr ng-repeat="language in languages">
<td class="ico"><img src="assets/images/ico/audio.png"></td>
<td class="r-text"><a href="assets/audio/{{ language.audio }}.mp3" target="_blank">Ascolta la sintesi in <strong>{{ language.name }}</strong></a></td>
<td class="ico"><img src="assets/images/ico/pdf.png"></td>
<td class="r-text"><a href="assets/pdf/{{ language.pdf }}.pdf" target="_blank">Leggi la sintesi in <strong>{{ language.name }}</strong></a></td>
</tr>
</tbody>
</table>
</div>
<pre class="prettyprint"></pre>
<p>
<button id="cloneIt" class="btn btn-warning">Generate source code</button>
</p>
By pressing the button my desired output (after AngularJS has done its work) should be:
<table>
<tbody>
<tr>
<td class="ico"><img src="assets/images/ico/audio.png"></td>
<td class="r-text"><a href="assets/audio/Audio-link_01.mp3" target="_blank">Listen to <strong>Italian</strong> track</a></td>
<td class="ico"><img src="assets/images/ico/pdf.png"></td>
<td class="r-text"><a href="assets/pdf/Pdf-link_01.pdf" target="_blank">Read <strong>Italian</strong> transcript</a></td>
</tr>
[and so on...]
</tbody>
</table>
How can I decode the HTML content of a cloned div
?
I am pleased if you can help me in this case. Thank you all.
To achieve what you required set the html()
of the #clone
element as the text()
of the pre
element, like this:
$(document).ready(function() {
$('#cloneIt').on('click', function() {
$("pre").text($('#clone').html());
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="clone" class="hidden">
<table>
<tbody>
<tr ng-repeat="language in languages">
<td class="ico"><img src="assets/images/ico/audio.png"></td>
<td class="r-text"><a href="assets/audio/{{ language.audio }}.mp3" target="_blank">Ascolta la sintesi in <strong>{{ language.name }}</strong></a></td>
<td class="ico"><img src="assets/images/ico/pdf.png"></td>
<td class="r-text"><a href="assets/pdf/{{ language.pdf }}.pdf" target="_blank">Leggi la sintesi in <strong>{{ language.name }}</strong></a></td>
</tr>
</tbody>
</table>
</div>
<pre class="prettyprint"></pre>
<p>
<button id="cloneIt" class="btn btn-warning">Generate source code</button>
</p>