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()
。
简单示例:
<div id="bin"> </div>
var newElement;
$(document).ready(function()
newElement = $("<button>New button</button>");
$("#bin").append(newElement);
alert(newElement.text());
);
【讨论】:
以上是关于jQuery 在附加到 DOM 之前从元素中生成变量的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将元素添加到 React 的虚拟 DOM 但使用 jQuery 附加到真实 DOM?