我在表中有两个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的这一行。
我错过了什么吗?
答案 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 以显示上述代码。