8

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

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

对我有什么魔力,还是我必须两次旅行?

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

$bin.before($rGallery);

console.log($rGallery);
4

2 回答 2

12

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

快速示例:

​<code><div id="bin"> </div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​。

var newElement;

$(document).ready(function() {

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

   alert(newElement.text());
});​
于 2012-12-20T00:09:45.240 回答
2

不确定您在这里尝试做什么,但如果您想保存 jQuery 选择器的结果,您可以像处理任何其他变量一样进行操作:

var gallery = $("#rGallery");

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

var gallery = document.createElement("section");
// Do other stuff on it, like set attributes, etc.
于 2012-12-19T23:59:45.883 回答