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=“正常文本”
。但我自己会找到解决办法的,非常感谢。