2011-12-17 2 views
1

Есть ли способ удалить предварительные теги, которые охватывают числовые значения с помощью JQuery?Удаление числовых предварительных тегов с помощью JQuery

Для меня, например, следующего содержания:

<pre>1000</pre> 

Мне нужно удалить тег PRE используя Jquery ..

Как я могу сделать это?

Заранее спасибо ...

ответ

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/ –

+0

+1 за хороший пример – Fero