<div class="pagination">
<a href="#">1</a>
<a href="#">2</a>
3
<a href="#">4</a>
</div>
I need to use jQuery to wrap an HTML element around the number "3". I can't modify the HTML because it is dynamically generated.
this will wrap all your number with a span, so the structure will be :
<a><span>1</span></a>
and the selected one only span without a :
<span>2</span>
var html = $('.pagination').html();
html = html.replace(/[0-9]/g,"<span>$&</span>");
$('.pagination').html(html);
so you can easily style it with :
.pagination a span {normal style}
.pagination span{selected style}
$('.pagination').html('<span>'+$('.pagination').html()+'</span>');
Imran Bughio 2016-02-05 12:11
I had a similar question which wraps all stray text
$(function() {
var test = $('.pagination')
.contents()
.filter(function() {
return this.nodeType === 3 && $.trim(this.nodeValue) !== '';
})
.wrap('<span/>');
});
just had a minor confusion with wrap()
and wrapAll()
. here's a demo
wrap()
and wrapAll()
- Joseph 2012-04-04 06:41
This is old, but a shorter, simpler way to do this in my opinion would be:
$("div:not(a)").wrapInner("<a href='#'></a>");