关于 Web 套接字更新的线程评论

发布于 2024-10-19 15:19:55 字数 317 浏览 5 评论 0原文

我正在使用网络套接字来更新评论列表。我嵌套 ul 和 li 标签来生成线程样式(解释 此处)。

问题是,当新消息进来时,我不想重新渲染整个消息列表。有没有办法操作 DOM(最好使用 jQuery),将新消息插入到列表的右侧“嵌套”中?

或者有更好的方法来构建我的 HTML? (也许是使用父子 id 作为 html 属性的方法)

I'm using web sockets to update a list of comments. I'm nesting ul and li tags to produce the threaded style (explained here).

The problem is that when a new message comes in, I don't want to re-render the entire list of messages. Is there way to manipulate the DOM (preferably with jQuery), to insert the new message into the right "nest" of the list?

Or is there a better way to structure my HTML? (Perhaps a way that uses the parent and child ids as html attributes)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴情 2024-10-26 15:19:55

答案是 - 但您需要某种方式来指示对于每条传入的消息,新消息正在回复哪条评论。然后,您所需要做的就是选择旧的“父”注释并使用 jQuery 的 .append().appendChild() 函数。我建议使用评论ID系统,这样你就可以直接通过ID选择评论。

// new comment comes in, is replying to comment number 12345678.
// Then...
$('#12345678').appendChild(new_comment_html);

The answer is yes - but you need some way to indicate, for each message that comes in, which comment the new one is replying to. Then, all you need to you is select the old "parent" comment and use jQuery's .append() or .appendChild() function. I recommend using a comment ID system so you can directly select comments by ID.

// new comment comes in, is replying to comment number 12345678.
// Then...
$('#12345678').appendChild(new_comment_html);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文