2

我在一个表中有两个 ID 为 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 的这一行。

我错过了什么吗?

4

2 回答 2

4

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

于 2009-09-27T19:44:21.860 回答
1

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

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

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

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

于 2009-09-27T21:56:44.223 回答