Javascript 使用jQuery的单个td中的文本节点选择器
我需要提取姓名:、电话:、电子邮件:、提交的潜在客户:、评论:、物业地址1后的文本: 问题是所有这些文本节点都是兄弟节点。如果是文本节点,我不知道如何按编号选择同级-例如,最上面的同级是一个跨距,而其余的是文本节点。我尝试了不同的迭代,但我唯一要做的是 var comments=$('span:contains(“承租人信息”)).sides().text().trim(); 但这会吸引所有的文本,而不仅仅是评论文本。理想情况下,我不仅希望得到每个文本节点,还希望得到“Name:”和“Phone:”等后面的文本。不过,在jQuery之后,我可能不得不删掉这些内容。如果您有任何关于拉取这些单独文本节点的指导,我们将不胜感激Javascript 使用jQuery的单个td中的文本节点选择器,javascript,html,jquery,cheerio,Javascript,Html,Jquery,Cheerio,我需要提取姓名:、电话:、电子邮件:、提交的潜在客户:、评论:、物业地址1后的文本: 问题是所有这些文本节点都是兄弟节点。如果是文本节点,我不知道如何按编号选择同级-例如,最上面的同级是一个跨距,而其余的是文本节点。我尝试了不同的迭代,但我唯一要做的是 var comments=$('span:contains(“承租人信息”)).sides().text().trim(); 但这会吸引所有的文本,而不仅仅是评论文本。理想情况下,我不仅希望得到每个文本节点,还希望得到“Name:”和“Phone
<td align="left" style="font-family:'Lucida Grande','Lucida Sans Unicode','Lucida Sans','DejaVu Sans',Verdana,sans-serif;font-size:14px;color:#666;padding:24px">
<span style="font-size:18px;font-weight:bold;color:#333">Renter's Information</span>
<br> Name: Shelby
<br> Phone: <a href="tel:(555)%25555-5555" style="color:#666;text-decoration:none" target="_blank">(555) 555-555</a>
<br> Email: <a href="mailto:email@gmail.com" style="color:#666;text-decoration:none" target="_blank">email@gmail.com</a>
<br> Lead Submitted: 9/13/2020 1:42:37 PM
<br>
<br> <span style="font-size:18px;font-weight:bold;color:#333">Renter's Preferences</span>
<br> Beds/Baths:
<br> Model:
<br> Unit:
<br>
<br> Move Date: 11/2/2020
<br> Comments: Hi there! Just came across your listing online. I was wondering if you could send us some updated photos and financial information, as in if anything is included in cost, how much the house needs paid off & just some details so we can look to see if we want to check it out. Thank you!
<br>
<br> <span style="font-size:18px;font-weight:bold;color:#333">Property Information</span>
<br> Link: <a href="https://www.apartments.com/" style="color:#77b800;text-decoration:none" target="_blank" data-saferedirecturl="https://www.google.com/url?hl=">https://www.apartments.com/</a>
<br> To: <a href="#m_7_" style="color:#666;text-decoration:none">property</a>
<br> Property Address 1: <a href="#m_7654125587635847623_" style="color:#666;text-decoration:none">property</a>
<br> Property Address 2: <a href="#m_7654125587635847623_" style="color:#666;text-decoration:none"></a>
<br> City: city
<br> State: NY
<br> Zip: 12345
<br>
<br> <span style="font-weight:bold">Wishing you success in converting this True Lead™ to a lease!</span>
<br> <span style="font-weight:bold">The <a href="https://www.apartments.com/customers" style="color:#666;text-decoration:none" target="_blank" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.apartments.com/customers&source=gmail&ust=1603510777154000&usg=AFQjCNHUYM0naErXYLjI9u_P_I4jk9Xtfg">Apartments.com Network</a> Team</span>
</td>
租客信息
姓名:谢尔比
电话:
电邮:
提交时间:2020年9月13日下午1:42:37
租客偏好
床/浴室:
型号:
单位:
搬迁日期:2020年11月2日
评论:你好!刚在网上看到你的物品。我想知道您是否可以给我们发送一些最新的照片和财务信息,例如,如果成本中包括任何东西,房子需要支付多少费用&;只是一些细节,这样我们可以看看,如果我们想看看。非常感谢。
财产信息
链接:
致:
物业地址1:
物业地址2:
城市:城市
州:纽约
邮政编码:12345
祝你成功转换这条真正的线索™ 租赁!
团队
我从您的问题中了解到,您希望根据HTML中的某些关键字获取一些文本,下面是一个实现!
我编辑了答案,将内容存储在数组中,而不是动态记录
//您搜索的单词,请注意,在此解决方案中,需要对它们进行排序
//只是为了避免嵌套for循环导致更大的时间复杂性
让searchKeywords=[“姓名”、“电话”、“电子邮件”、“提交的潜在客户”、“评论”、“物业地址1”];
函数getTextContent(关键字、htmlContent){
//要存储在内容中的数组
设arr=[];
//因为在每个跨度元素之前都有一个
元素
//很容易获得html并将其拆分为行
htmlContent.split(“
”).forEach(函数(e){
if(e.startsWith(`${searchKeywords[arr.length]}`){
//如果当前行以当前关键字开头,那么如果它有
//
电邮:
提交时间:2020年9月13日下午1:42:37
租客偏好
床/浴室:
型号:
单位:
搬迁日期:2020年11月2日
评论:您好!刚刚在网上看到您的物品。我想知道您是否可以给我们发送一些最新的照片和财务信息,比如如果费用中包含任何东西,房子需要支付多少费用,以及一些细节,以便我们查看是否要查看。谢谢!
财产信息
链接:
致:
物业地址1:
物业地址2:
城市:城市
州:纽约
邮政编码:12345
祝你成功转换这条真正的线索™ 租赁!
团队
如果你只需要文本,阅读
上的innerText
属性应该会对你有所帮助。这绝对是你想注册的东西。谢谢你的回复。我正在使用jQuery解析我收到的电子邮件中的HTML-我无法控制信息的格式,所以我必须处理它。Th上面的e HTML是HTML的一个更大部分的一部分,因此要找到td
我必须搜索文本“承租人信息”
,然后从那里我可以实现您推荐的脚本。首先拉出HTML的td
部分的最佳方法是什么(“承租人信息”)?如果我想将每个文本项添加到数组中,这是否是最好的方法,而不是保存到consol.log中?array.push([(e.includes(“”+1,e.indexOf(“”)):e.slice(e.indexOf(“”+1)).trim()][I]);
@823g4n8901很抱歉,我正在工作,我已经更新了我的答案,请查看它