jquery动态id选择器,删除然后添加类

jp5*_*577 2 jquery addclass dynamic jquery-selectors removeclass

我有一个表,所有行都有一个div的单元格,其动态生成的id格式为btn-insertidhere.

当选择表格行时,我想选择此div id,然后删除一个类并将其更改为另一个类.这取决于我想要将按钮图像从添加符号更改为删除符号(单击时).

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;
});
Run Code Online (Sandbox Code Playgroud)

这是动态生成的代码的html片段:

<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>
Run Code Online (Sandbox Code Playgroud)

如您所见,我想将"添加"类更改为删除"类".表格中的所有表格行都是这样生成的,因此您可以看到我已经选择了通配符方法,这似乎有效,因为显示的警报显示了正确的div id.我只需要改变课程!

谢谢!

Jai*_*ime 7

您必须通过删除'.attr(id)'部分来获取div的jq对象

var DivId = $(this).find('div.add');
...
$(DivId).removeClass('add').addClass('del');
Run Code Online (Sandbox Code Playgroud)

或者在divId选择器中添加#

$("#" + DivId).removeClass('add').addClass('del');
Run Code Online (Sandbox Code Playgroud)