On 12 Mag, 12:31, quirksmode <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I am dynamically generating html which looks like this:

since you're generating the html dynamically, I'd suggest you do it
server side (i.e. a for loop).
if that is not possible, change <div id="wrapper"> with <div
class="wrapper">, if you need the "wrapper" string, or simply <div>,
because having the same id over the page is definitely a bad thing :)
the a solution could be:

$('div').each(function(i){
    var $this = $(this);
    var the_id = $this.attr('class');
    $this.attr('id', the_id + '_' + i)
});

this would be zero-based. change to (i+1) to have them starting with
wrapper_1.
without the class, shorter:
$('div').each(function(i){
    $(this).attr('id', 'wrapper_' + i)
});

if those div's are inside something else (let's assume a <div
id="container_div">, you can add a context to the first selector, to
speed up the process:

$('div', '#container_div').each(function(i){
    var $this = $(this);
    var the_id = $this.attr('class');
    $this.attr('id', the_id + '_' + i)
});

Reply via email to