Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在<;中选择文本;p>;介于<;人力资源>;使用Jquery和PhantomJS的元素_Jquery_Phantomjs_Elements - Fatal编程技术网

如何在<;中选择文本;p>;介于<;人力资源>;使用Jquery和PhantomJS的元素

如何在<;中选择文本;p>;介于<;人力资源>;使用Jquery和PhantomJS的元素,jquery,phantomjs,elements,Jquery,Phantomjs,Elements,我希望从一些“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').next

我希望从一些“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将其输出到文本文件,但文本都在一行上。如何才能做到这一点并在每一行上都有换行符?

使用此
fsString
的输出,在您以前使用该语句的地方将其写出。它将使用通用的windows行结束字符(
“\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();

此方法迭代hr元素之间的所有元素(不确定最后一个元素),获取文本并将其放入string
str
。它对字符串中的换行符+换行符使用
'\r\n'
。在此代码部分之后,可以使用fs.write编写该字符串

var str = '';
$('hr:first').nextUntil('hr').each(function(i, e) {
    str += $(e).text() + '\r\n';
});

不能简单地在这个调用中使用
fs.write
(因为它是沙盒)。只需附加到字符串,就可以了。就像NullPointer的答案一样。那么它将是相同的代码,但是NullPointer有一个描述。在答案中添加其他(更好的)描述或删除答案。根本不需要相同的答案。@ArtjomB。感谢您指出,我不熟悉
fs.write
。谢谢,$('hr:first')。nextUntil('hr')。append(“\r\n”).text();对我的案子很有效。你仍然没有提供任何答案。