2017-07-07 84 views
-6

一个字符串的内容这是我的代码用JavaScript编写的:删除HTML标记和使用jQuery

var my_text = '<span>Hi,</span>i am superman'; 

我想删除跨度标签,并从mytext它的内容,并将其存储在一个新变量一个使用jQuery的字符串。所以结果应该是:'i am superman'在新的一个。

回答

0

这个简单的字符串操作真的没有理由涉及JQuery。保存JQuery做JQuery擅长的东西。

var my_text = '<span>Hi,</span>i am superman'; 
 

 
var result = my_text.split("</span>"); 
 
console.log(result[1]);

+3

这是非常脆IMO,如果此字符串是从页和结束标记来究竟是什么样子'< /span >'? – jackarms

+0

答案可以适用于不同的用例,但重点是可以通过字符串解析来解决这个问题。 –

+0

它可以,但不是jQuery的字符串解析好吗? – jackarms

-1

您可以使用正则表达式这样my_text.replace(/<span>.*<\/span>/, '')

+2

如果内容是'0 4',则OP会预期'0 2 4',但是您的代码将返回'0 4' –

4

虽然有可能实现,需要使用什么正则表达式,这不是很好的做法这样做。

相反,您可以解析HTML以检索所需的文本节点。正如您所标记的jQuery的,这里有一个工作示例:

var my_text = '<span>Hi,</span>i am superman'; 
 

 
var text = $('<div />').html(my_text).contents().filter(function() { 
 
    return this.nodeType == 3 && this.nodeValue; 
 
}).text(); 
 

 
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>