如何用jQuery去除HTML标签?

我想从string中删除HTML标签。 例如,假设我们有string:

<p> example ive got a string</P> 

我怎样才能写一个函数来移除<p><p>并返回“举例说明我得到了一个string”?

最安全的方法是依靠浏览器TextNode正确地转义内容。 这是一个例子:

 function stripHTML(dirtyString) { var container = document.createElement('div'); var text = document.createTextNode(dirtyString); container.appendChild(text); return container.innerHTML; // innerHTML will be a xss safe string } document.write( stripHTML('<p>some <span>content</span></p>') ); document.write( stripHTML('<script><p>some <span>content</span></p>') ); 

使用.text()函数:

 var text = $("<p> example ive got a string</P>").text(); 

更新 :由于Brilliand在下面指出,如果inputstring不包含任何标签,并且运气不够好,则可能会将其视为CSSselect器。 所以这个版本更强大:

 var text = $("<div/>").html("<p> example ive got a string</P>").text(); 

这是获取url图像的一个例子,从某个项目中跳出p标签。

尝试这个:

 $('#img').attr('src').split('<p>')[1].split('</p>')[0] 

您可以使用现有的分割function

一个简单而不稳定的例子:

 var str = '<p> example ive got a string</P>'; var substr = str.split('<p> '); // substr[0] contains "" // substr[1] contains "example ive got a string</P>" var substr2 = substr [1].split('</p>'); // substr2[0] contains "example ive got a string" // substr2[1] contains "" 

这个例子只是为了向你展示分割是如何工作的。