Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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替换除title内部内容以外的所有内容="&引用;_Javascript - Fatal编程技术网

Javascript替换除title内部内容以外的所有内容="&引用;

Javascript替换除title内部内容以外的所有内容="&引用;,javascript,Javascript,我有这篇课文 var test = "<span data-toggle="tooltip" title="2Test">1TEST</span>"; var test=“1TEST”; 我不确定我在做什么,可能需要一些帮助。这就是我所尝试的: test = test.replace(/<span data-toggle="tooltip" title="|">[^>]*>/gi, ""); test=test.replace(/[^>]*>

我有这篇课文

var test = "<span data-toggle="tooltip" title="2Test">1TEST</span>";
var test=“1TEST”;
我不确定我在做什么,可能需要一些帮助。这就是我所尝试的:

test = test.replace(/<span data-toggle="tooltip" title="|">[^>]*>/gi, "");
test=test.replace(/[^>]*>/gi,”);

测试变量应该只返回“title”中的值。

我同意@Biffen的观点,你不应该真正用正则表达式解析HTML!但如果你必须这么做,试试这个

var test = "<span data-toggle='tooltip' title='2Test'>1TEST</span>";
var result = test.match(/title='([^']+)'/)[1];

console.log(result); //2Test
var test=“1TEST”;
var result=test.match(/title='([^']+')/)[1];
控制台日志(结果)//2测试

您不需要解析HTML来获取title属性,而是可以从HTML DOM访问title属性

使用
createElement
创建一个临时容器,然后使用html字符串设置内部html,最后遍历到第一个子元素
span
,并获得所需的
title
属性

例如:
var test=“1TEST”;
var el=document.createElement('div');
el.innerHTML=测试;
var title=el.firstChild.getAttribute('title')

console.log(title)//2Test
为什么要解析而不是简单地访问DOM并读取所需的值?“我有这个文本”–不是真的,这是一个语法错误…这很好,但只有当变量“test”包含“title”时,如果“title”不存在,它才会出错。如
var test=“正常文本”
。但我自己会找到解决办法的,非常感谢。