【问题标题】:Options to create DOM element via jQuery [closed]通过 jQuery 创建 DOM 元素的选项 [关闭]
【发布时间】:2015-08-15 05:06:16
【问题描述】:

假设我想从我的 javascript/jQuery 代码中创建一个新的 DOM 元素,其中包含一些属性,例如 id 或 class。我已经看到了许多不同的方法来做到这一点,例如:

$('<div>').prop('id','someid').addClass('someclass');
$('<div></div>').prop(...).addClass(...);
$("<div id='some' class='someclass'>");

而且我想我记得看到过一个在属性字典中传递的选项,更不用说任何纯 JavaScript 选项了。当然,创建的元素随后需要通过多个选项之一添加到 DOM 树中,但这是一个不同的问题。

所以问题是:除了上述之外,我可以使用哪些各种选项从代码创建 DOM 元素?

编辑:请注意,我不是在问哪个选项最好。相反,当我需要从 jQuery 代码创建 DOM 元素时,我试图找出我的选择。

【问题讨论】:

  • 另一个选项$('&lt;div /&gt;', {'id':'someid', 'class' : 'someclass'});
  • @j08691 谢谢,这很有帮助。在我对创建 DOM 元素等的所有搜索中,我都没有设法找到该页面。如果您想将其发布为答案,我可以接受。
  • @Satpal 啊,是的。这是我试图想到的另一个。
  • 那么,显然众多认为这是一个糟糕的问题的人中的任何一个愿意分享为什么我可以在未来改进?

标签: javascript jquery html dom


【解决方案1】:

IMO 的最佳选择是 .append。

假设你正在创建一个叠加层或对话框,它就像附加到正文一样简单,你甚至可以将文本传递给一个函数以使其通用:

Function ShowDiag(text)
{
    $('body').append("<div class='customDialog'>"+text+"</div>");
}

Function RemoveDiag()
{
    $('.customDialog').remove();
}

为 customDialog 类设置预定义的 CSS 样式。

祝你好运。

【讨论】:

  • 是的,这是另一种选择 - 只需同时创建并添加到 DOM 树。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多