如何用javascript编写一个元素紧接着另一个元素?

发布于 2024-11-10 03:48:54 字数 55 浏览 5 评论 0原文

我需要在另一个元素(文本区域)之后添加一个 onclick 元素。

我该怎么做?

I need to append an element onclick just after another (a textarea).

How do I do that?

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

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

发布评论

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

评论(3

我早已燃尽 2024-11-17 03:48:54

接受的答案将在这种特定情况下起作用,但要更一般地在另一个元素之后插入一个元素,可以执行以下操作:

someElement.parentNode.insertBefore(newElement, someElement.nextSibling);

其中 newElement 是要插入的元素,someElement是要插入到其后的元素。

W3C insertBefore 方法 节点接口

The accepted answer will work in this specific case, but to insert an element after another more generally, the following does the job:

someElement.parentNode.insertBefore(newElement, someElement.nextSibling);

Where newElement is the element to be inserted and someElement is the element it is to be inserted after.

W3C insertBefore method of the Node interface

思慕 2024-11-17 03:48:54

更新:此问题可能无法正确回答问题,但已被选为正确答案。所以我在这里添加正确的答案,因为大多数人都不会跳过它,而且原作者已经很多年没有访问 Stackoverflow 了。

@RobG 的正确答案

var div = document.getElementById( 'div' );
var newText = document.createElement( 'textarea' ); // create new textarea
div.parentNode.insertBefore( newText, div.nextSibling );

旧的不相关答案:

您可以使用appendChild方法添加新元素

HTML

<div id='div'>
  <textarea></textarea>
</div>

Javascript

var div = document.getElementById('div');

var newText = document.createElement('textarea'); // create new textarea

div.appendChild(newText); // add it to the div

结果 HTML

<div id='div'>
  <textarea></textarea>
  <textarea></textarea>
</div>

Update: This question may not answer the question properly but it was selected as the right answer. So I am adding the correct answer here since most people don't scroll past it and the original author hasn't accessed Stackoverflow for many years now.

Correct answer from @RobG

var div = document.getElementById( 'div' );
var newText = document.createElement( 'textarea' ); // create new textarea
div.parentNode.insertBefore( newText, div.nextSibling );

Old Irrelevant answer:

You can use the appendChild method to add a new element

HTML

<div id='div'>
  <textarea></textarea>
</div>

Javascript

var div = document.getElementById('div');

var newText = document.createElement('textarea'); // create new textarea

div.appendChild(newText); // add it to the div

Resulting HTML

<div id='div'>
  <textarea></textarea>
  <textarea></textarea>
</div>

深府石板幽径 2024-11-17 03:48:54

outerHTML 方法也能解决这个问题:

allAloneElement.outerHTML+='<p>I am the new element</p>'

outerHTML method does the trick too:

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