有没有办法使用 Javascript 查找 DIV 中最后一个元素的 ID?

发布于 2024-12-02 17:06:36 字数 430 浏览 2 评论 0原文

我想我需要找到 div 中最后一个元素的 id,以便我可以使用 javascript 在其后面附加一个 ul 元素。原因是我的 div 中的现有/最后一个 ul 是动态生成的,因此它的 id 可以是任何内容。

我尝试使用以下代码简单地将元素附加到 div 容器,希望将其放在最后。

var container = document.getElementById("container");
var newUL = document.createElement("ul");
container.appendChild(newUL);
newUL.innerHTML = 'Hello';

但是由于某种原因,这会将新的 ul 附加到我的 div 容器之外。有谁知道为什么会发生这种情况?还有如何找到最后一个元素的 id 以便我可以将其附加到最后一个元素之后?谢谢。

I think I need to find the id of the last element in my div so that I can append a ul element after it using javascript. The reason for this is that the existing/last ul in my div is generated dynamically so its id could be anything.

I have tried simply appending the element to the div container using the following code, expecting it to put it at the end..

var container = document.getElementById("container");
var newUL = document.createElement("ul");
container.appendChild(newUL);
newUL.innerHTML = 'Hello';

But this for some reason appends the new ul outside of my div container. Does anyone know why this happens? but also how to find the last element's id so that I can append it after the last element? Thanks.

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

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

发布评论

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

评论(3

动听の歌 2024-12-09 17:06:36
container.lastElementChild.id 

但我认为你需要找到真正的问题。 UL 不能包含文本。它可能仅包含li元素。

container.lastElementChild.id 

But I think you need to find the real problem. An UL can't contain text. It may only contain li-elements.

深空失忆 2024-12-09 17:06:36

最简单的方法是依靠 Javascript 框架来解决这个问题,例如 jQuery

jQuery 允许您用这个简单的代码回答您的情况:

$('#container').append(
  $('<ul></ul>').text('Hello')
);

编辑: 考虑到 arnaud576875 的评论。

The easiest way would be to rely on a Javascript framework such as jQuery to tackle this problem.

jQuery allow you to answer your situation with this simple code:

$('#container').append(
  $('<ul></ul>').text('Hello')
);

EDIT: Took into account arnaud576875's comment.

疑心病 2024-12-09 17:06:36

您将 ul 元素的innerHTML 设置为一个简单的字符串:'Hello';违反规则。也许更好的测试是添加一些 li 元素:

newUl.innerHTML = "<li>One</li><li>Two</li>";

You are setting the innerHTML of a ul element to a simple string : 'Hello'; that contravenes the rules. Perhaps a better test would be to add some li elements :

newUl.innerHTML = "<li>One</li><li>Two</li>";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文