jQuery 在附加到 DOM 之前从元素中生成变量

Posted

技术标签:

【中文标题】jQuery 在附加到 DOM 之前从元素中生成变量【英文标题】:jQuery make variable out of element before appending to DOM 【发布时间】:2012-12-07 10:40:45 【问题描述】:

试图在这里提高效率。如何在将元素附加到 DOM 之前将其存储为变量?似乎创建它,附加它,然后再次找到它来制作变量是一种浪费。

我的方法如下。 OBV 它将字符串保存为变量,而不是对象,但你明白了。

对我来说有什么魔法吗?或者我必须做两次旅行吗?

var $rGallery = '<section id="rGallery" />';

$bin.before($rGallery);

console.log($rGallery);

【问题讨论】:

其中一些示例可能对您有用,也可能没用:***.com/a/12009839/84206 【参考方案1】:

不知道你到底想在这里做什么,但如果你想保存 jQuery 选择器的结果,你可以像处理任何其他变量一样:

var gallery = $("#rGallery");

如果你想创建一个新元素并保存它:

var gallery = document.createElement("section");
// Do other stuff on it, like set attributes, etc.

【讨论】:

Rad,没有意识到 before() 可以使用对象而不是字符串! @AaronLS 是的,我在保存答案后不久就意识到了这一点。已编辑。 接受了@jasontowne 的回答,因为他解释了方法并给出了技术答案【参考方案2】:

.before().append() 可以将 jQuery 对象作为参数。您只需创建新对象,将其存储在变量中,然后将其传递给.before().append()

简单示例:

&lt;div id="bin"&gt; &lt;/div&gt;​​​​​​​​​​​​​​​​​​​​​​

var newElement;

$(document).ready(function() 

   newElement = $("<button>New button</button>");
   $("#bin").append(newElement);

   alert(newElement.text());
);​

【讨论】:

以上是关于jQuery 在附加到 DOM 之前从元素中生成变量的主要内容,如果未能解决你的问题,请参考以下文章

附加 DOM 元素不适用于 jQuery 可选

访问刚刚附加到 DOM 的 jquery 元素

是否可以将元素添加到 React 的虚拟 DOM 但使用 jQuery 附加到真实 DOM?

如何使用 Jquery 或 Javascript 定位附加元素,或者如何将该附加元素添加到 DOM?

使用 jQuery 加载图像并将其附加到 DOM

将数组项附加到具有相应索引的 DOM 元素(jQuery)