Jquery选择器问题

时间:2009-09-27 19:42:03

标签: jquery dom jquery-selectors

我在表中有两个ids row_26和notificationrow_26。在加载页面后,notificationrow_26会动态添加到DOM中。

我想突出显示notificationrow_26。所以我用

var deviceUID = 26;
$("#notificationrow_" + deviceUID).effect("highlight", {}, 3000);       

但是当我这样做的时候。它没有突出显示那一行。我也试过访问notificationrow_26,但它甚至都没有访问。

当我问它时,它会突出显示row_26。我听说过有关jquery live的内容,但是如何通过jquery live访问它?我认为jquery live仅适用于事件和内容。我只想访问已动态添加到DOM的这一行。

我错过了什么吗?

2 个答案:

答案 0 :(得分:4)

将元素添加到DOM后,需要调用.effect语句。如果您通过“点击”或其他常见事件将元素附加到DOM,则可以使用.live(但不是“更改”,您需要使用livequery)。

答案 1 :(得分:1)

我不熟悉.effect(),它是插件还是其他JavaScript框架的一部分?以下代码将突出显示该行,前提是该页面上的$速记没有冲突

var deviceUID = 26;
$("#notificationrow_" + deviceUID).css('background-color','highlight');

这只能在将行插入DOM之后应用(我的意思是,当执行命令时,它只会影响那些与DOM中存在的选择器匹配的元素)。

因此,根据行的添加方式,您可以在回调函数中添加突出显示(如果有),将突出显示命令链接到插入DOM之前/之后的行。 Here's a demo 以显示上述代码。

相关问题