2011-12-17 65 views
1

有没有什么办法去除使用Jquery覆盖数字的前置标签?用Jquery去除数字前置标签

例如,我有以下内容:

<pre>1000</pre> 

我需要删除使用jQuery的PRE标签..

我怎样才能做到这一点?

在此先感谢...

回答

4

(注意,大卫·托马斯提供了如何使用.unwrap()firstchild一个很好的例子。)

.unwrap()

$("pre").wrapInner('<div>').find('div').unwrap(); 

http://jsfiddle.net/c4j77/

你也可以这样做:

$("pre").parent().each(function(){ 
    $(this).text($(this).text()); 
}); 

http://jsfiddle.net/c4j77/1/

0
$("#element").html($("#element").html().replace(/<\/?pre>/i, '')); 
2

我认为下面会的工作,解开了textNode:

$('pre').each(function(){ 
    $(this.firstChild).unwrap(); 
}); 

因为我不知道,如果所有pre元素将为纯数字,我添加了if检查以查看元素是否包含字母字符(az,大写和小写):

$('pre').each(function(){ 
    var text = $(this).text(); 
    if (text.match(/[a-z]/gi)){ 
     // you've got a string with letters 
    } 
    else { 
     $(this.firstChild).unwrap(); 
    } 
}); 

JS Fiddle demo

+0

忽略之前的评论,我有不正确的标记;这至少在FF8中起作用。演示:http://jsfiddle.net/8P6Fq/ – 2011-12-17 15:38:20

+0

+1提供了很好的示例 – Fero 2011-12-19 04:47:30