jQuery "get or create element"便捷方法

标签 jquery dom

我有两个生成 DOM 元素的函数。它们都尝试创建相同的容器元素。 (我不想对这些函数强制执行特定的运行顺序,或者将它们与创建此元素的副作用紧密耦合)。我一直在尝试发现一种方法,该方法可以获取一个元素(如果存在),或者创建该元素的单个实例(如果不存在),并返回一个包含该元素或所有匹配元素(如果它们已经存在)的 jQuery 对象。

我在搜索 jQuery 文档时没有发现这个存在,但我想我应该在这里问一下,看看是否有其他人遇到过类似的问题并有建议。

最佳答案

您可以使用这个写得不好的代码:

var $element = $('#element').length ? $('#element') : $('<div id="element"></div>').appendTo('#containerToPutIt');

或者让它更干净一点:

var $element = $('#element');
if(!$element.length)
    $element = $('<div id="element"></div>').appendTo('#containerToPutIt');

关于jQuery "get or create element"便捷方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7404575/

相关文章:

javascript - 为什么编译器说 getElementByClass 不存在?

JQuery slider 未传递十分之几的值

javascript - 如何 append 最新的 html 文件,而不是从缓存中

javascript - JQuery 与 Angular 实现数百个值 slider

javascript - 使用 jquery 一次选择一个元素

javascript - 在解决 iOS 13 错误时检测何时启动 iOS Webclip

javascript - 如何更改 DOM 元素?

javascript - jqWidgets 选项卡内的 jQuery Chosen 下拉列表未正确呈现

php - 从表中检索到的条目是否重复? PHP

javascript - DOM 直接从 HTML 代码创建对象