我想知道是否有任何方法可以将以下HTML列表转换为缩进的纯文本,我已尝试使用jQuery的以下解决方案(但不幸的是,它为pre.code
html添加了一个制表符元素,当它应该只在console.log
输出)
function serializeCode() {
$.each($("pre.code"), function() {
if ($(this).parent().parent().hasClass("multiline")) {
console.log($(this).prepend("\t").text());
}
});
}

<style>
pre.code {display:none}
</style>
<ul id="list">
<li>
<pre class="visual">Comando 1</pre>
<pre class="code">command1</pre>
</li>
<li>
<pre class="visual">Comando 2 {</pre>
<pre class="code">command2 {</pre>
<ul class="multiline">
<li>
<pre class="visual">Comando 3</pre>
<pre class="code">command3</pre>
</li>
</ul>
<pre class="visual">}</pre>
<pre class="code">}</pre>
</li>
</ul>
&#13;
Comando 1
Comando 2 {
Comando 3
}
答案 0 :(得分:0)
下面的函数遍历列表中的所有
pre.code
元素,并在具有\t
类的父元素的元素的开头添加制表符(multiline
)。 / p>
function serializeCode() {
console.clear();
$.each($("pre.code"), function() {
if ($(this).parent().parent().hasClass("multiline")) {
console.log("\t" + $(this).text());
} else {
console.log($(this).text());
}
});
}
答案 1 :(得分:0)
var a = '';
$.each($('.visual'), function () {
a += $(this).text() + '\n';
});
alert(a);