我有两个生成 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/