2013-12-19 3 views
1

Я хотел бы знать, как я могу применить регулярное выражение, чтобы заменить что-то внутри div. Пример:JQuery regex в содержимом div

<div class="counter"> 
    Number of viewers: 12 
</div> 

Я хочу заменить 12 с 13. Я обычно делаю

$var = $('.counter').text().replace(/\d+/g, '13'); 
$('.counter').text($var); 

Но я считаю это решение грубым и неоптимизированная, я хочу раствор одна линия для того, чтобы Javascript/Jquery не держать в памяти переменная, которая может содержать десять тысяч символов.

+0

Я не думаю, что у вас есть много вариантов. 'replace' уже сделает копию. Вы можете просто написать его в одной строке, если вы хотите '$ ('. Counter'). Text ($ ('. Counter'). Text(). Replace (/ \ d +/g, '13')); избавиться от '$ var' –

+0

Я уже думал об этом, но нашел его уродливым – sidney

ответ

5

В одной линейке по-прежнему будет возникать одна и та же проблема: строка из 10 000 символов будет бесполезно создана.

Настоящая проблема - ваш HTML. Структура его лучше:

<div class="counter"> 
    Number of viewers: <span id="num-viewers">12</span> 
</div> 

Теперь вы можете обновить его номер:

$('#num-viewers').text('13'); 
+0

вот что я бы тоже ответил! – teemo

+0

ответ принят! спасибо – sidney

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