我希望在某些'hr'标签之间输出所有元素的文本。
<hr>
<h2>i need this heading.</h2>
<p>i need this text.</p>
<p>and this one.</p>
<p>and also this one.</p>
<hr>
我尝试使用$('hr:first').nextUntil('hr').text()
并使用fs.write输出到文本文件,但文本全部在一行上。我该怎么做并在每一行都有换行符?
答案 0 :(得分:1)
使用此fsString
的输出,在此之前您使用该语句将其写出来。它将使用通用窗口行结束字符("\r\n"
)连接每个元素的各个文本内容。如果您使用的是不同的行结束类型,则只需将"\r\n"
替换为"\n"
(通常为* nix)或"\r"
(通常是较旧的Mac OS),其余用于其余部分你的文件。
var fsString = "";
$('hr:first').nextUntil('hr').each(function(i,o){
fsString += $(o).text() + "\r\n";
});
此外,更简洁的方法是将行结束字符添加到现有元素中,然后像以前一样获取所有文本,并以与您现在完全相同的方式使用它。
$('hr:first').nextUntil('hr').append("\r\n").text();
答案 1 :(得分:1)
此方法遍历hr元素之间的所有元素(不确定最后一个元素)并获取文本和puts然后将其附加到字符串str
。它在字符串中使用'\r\n'
换行符+换行符。在此代码部分之后,您可以使用fs.write编写该字符串。
var str = '';
$('hr:first').nextUntil('hr').each(function(i, e) {
str += $(e).text() + '\r\n';
});