2014-04-28 3 views
1

Я не знаю, как добавить текст в сильное и добавить «x».следующий текст обернуть и добавить текст

<span>something</span> 5 
<span>something</span> 4 

И я хочу:

<br /><span>something</span> <strong>5x</strong> 
<br /><span>something</span> <strong>4x</strong> 

Мое решение:

$("span").each(function() { 
    $(this).before("<br />"); 
    $(this.nextSibling).wrapAll("<strong></strong>").after("x");  
}); 

Но выход не является совершенным:

<br /><span>something</span> <strnong>5 x</strong> 
<br /><span>something</span> <strnong>4 x</strong> 

Как удалить пробел между 5 и х ?

ответ

1

Попробуйте

$("span").each(function() { 
    $(this).before("<br />"); 
    $(this.nextSibling).wrapAll("<strong></strong>").parent().text(function (i, t) { 
     return t.replace(/\s+$/, '') + 'x' 
    }); 
}); 

Демо: Fiddle

+1

Вы также можете [использовать '.trim', чтобы удалить новые линии] (http://jsfiddle.net/DerekL/f8qjk/) в конце , :) –

+0

@Derek 朕 會 功夫, но он также удалит ведущее пространство ... может быть не то, что хотел OP - http://jsfiddle.net/arunpjohny/GWRX3/2/ –

+0

да, это нормально thx – user3380605

0

Вы можете выбрать каждый элемент strong, используя $('strong').each(), а затем использовать $(this).replace(/ /g,'') для разграничения пробелов.

Смежные вопросы