Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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
如何仅在javascript中选择未格式化的文本?_Javascript_Html - Fatal编程技术网

如何仅在javascript中选择未格式化的文本?

如何仅在javascript中选择未格式化的文本?,javascript,html,Javascript,Html,如果我有这样一个页面: <p><strong>Description</strong><br>Freehold Terrace House Three Floor 4 Room(s) Garden Out Building Vacant</p> 请参阅代码段模拟器: console.log(document.getElementsByTagName('p')[0].textContent) 说明自由保有露台房屋三层4间花园外建筑空置您

如果我有这样一个页面:

<p><strong>Description</strong><br>Freehold Terrace House Three Floor 4 Room(s) Garden Out Building Vacant</p>
请参阅代码段模拟器:
console.log(document.getElementsByTagName('p')[0].textContent)
说明
自由保有露台房屋三层4间花园外建筑空置

您可以这样使用:

<p><strong>Description</strong><br>Freehold Terrace House Three Floor 4 Room(s) Garden Out Building Vacant</p>
const p=document.getElementsByTagName('p')[0];
const result=Array.from(p.childNodes).find(x=>x.nodeType===Node.TEXT\u Node).wholeText;
控制台日志(结果)

说明
自由保有露台房屋三层4间花园外建筑空置

使用
innerHTML
可以让您更好地管理字符串

console.log(document.getElementsByTagName('p')[0].innerHTML.split(“
”[1])
说明
自由保有露台房屋三层4间花园外建筑空置

@guerric-p的回答是正确的,如果您使用的是其他可能不遵循相同结构的元素,则将提供更大的灵活性。但是,如果所有用例都遵循相同的结构,则可以利用
lastChild
来简化

注意:我还将
getElementByTagName
更改为
querySelector

const p=document.querySelector('p');
const result=p.lastChild.wholeText;
console.log(结果);//自由保有露台住宅三层4间花园外建筑空置

说明
自由保有平台房屋三层4间花园外建筑空置

其他答案依赖于标记,但如果您只想在文本中查找字符串,而不需要任何格式,则可以使用string.match()使用Regex函数在未格式化文本中进行选择,例如在您的案例中,描述之后是什么

var string=document.getElementsByTagName('p')[0].textContent;
console.log(字符串);

console.log(string.match(/(?首先,让我修复您的代码:


  • 标记未正确关闭。它应该在

    之前关闭
第二,如果我理解正确,“未格式化”文本只是不加粗的文本。 如果是这样,您可以使用函数
getElementByTagName
将其写入两个不同的标记中

这是HTML代码:

<strong>Description</strong>
<br />
<p>Freehold Terrace House Three Floor 4 Room(s) Garden Out Building Vacant</p>
说明

自由保有露台住宅三层4间花园外建筑空置

console.log(document.getElementByTagName(“p”)[0].innerHTML.split(“
”[1]);
HTML不需要关闭
,而且从网页中抓取的HTML始终是原始的,按原样提供。您的解决方案不够通用,无法在没有换行符的情况下工作。
console.log(document.getElementByTagName("p")[0].innerHTML.split("<br>")[1]);