Pregunta

Tengo una tabla, con filas que todos tienen una célula de un div con un identificador generado dinámicamente en el formato de BTN-insertidhere.

Cuando se selecciona la fila de tabla, deseo seleccionar este div id, a continuación, quitar una clase y cambiarlo por otro. Esto se debe a querer que tener un cambio de imagen de un símbolo de botón de añadir a un símbolo de borrado que cuando se hace clic.

código javascript:

  $('*[class^=day] tbody tr[id^=band]').live('click', function() {
        var DivId = $(this).find('div.add').attr('id');
        alert(DivId);

        $('DivId').removeClass('add').addClass('del');
        $('table#fri_myTimes tbody').append($(this)).fadeIn(1000);
        return false;
});

Este es un html fragmento del código generado dinámicamente:

<tr id="band-Modest-Mouse">
<td>Modest Mouse</td>
<td>15:25:00</td>
<td>16:10:00</td>
<td>45</td>
<td><div id="btn-Modest-Mouse" class="add">&nbsp;</div></td>
</tr>

Como se puede ver quiero cambiar la clase 'complemento' a una 'clase' de eliminación. Todas las filas de la tabla en la tabla se genera de esta manera, así como se puede ver que he ido para el enfoque de comodín, que parece funcionar debido a que la alerta se muestra, muestra el div correcta identificación. Sólo hay que cambiar la clase!

Gracias!

¿Fue útil?

Solución

Usted tiene que obtener el objeto jq para el div quitando el '.attr (id)' parte

var DivId = $(this).find('div.add');
...
$(DivId).removeClass('add').addClass('del');

o añadir un # en el selector divId

$("#" + DivId).removeClass('add').addClass('del');

Otros consejos

Prueba a eliminar las comillas alrededor de divId. Es un nombre de variable y no debe estar entre comillas. Como tal:

$(DivId).removeClass('add').addClass('del');

Debido a que su divId variable es un objeto jQuery, no es necesario en absoluto el $():

DivId.removeClass('add').addClass('del');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top