将 Jquery 创建的 html 元素存储在变量中

Storing html elements created by Jquery in variable

本文关键字:存储 变量 元素 html Jquery 创建      更新时间:2023-09-26

我正在尝试将两个div元素添加到我的html正文中,我首先创建分配唯一ID的div元素并将它们存储在两个变量中。

var a = $('div').attr('id', 'container');         
var b= $('div').attr('id', 'selectable');     
 $(a).appendTo('body');
 $(b).appendTo('body); 

问题是当我将它们添加到正文时,我注意到实际上只有一个div 元素被附加到主体中。经过进一步检查,我注意到变量 b 中的内容正在复制到变量 a,因此变量 a 和 b 都引用了 ID 可选的同一div。

如何创建两个要附加到 html 正文的唯一div 元素?

您正在选择div,而不是创建它们。

var a = $('div').attr('id', 'container');
var b = $('div').attr('id', 'selectable'); 

应该是:

var a = $('<div/>').attr('id', 'container');
var b = $('<div/>').attr('id', 'selectable'); 

这会在 dom 中搜索所有div 元素:

$('div');

因此,以下代码将"可选"的 id 应用于所有div 元素。

var a = $('div').attr('id', 'container');         
var b = $('div').attr('id', 'selectable');

要在 jQuery 中创建元素,你需要有一个以 '<' 开头的字符串。 要获得所需的结果,您可能需要执行以下操作:

var a = $('<div/>').attr('id', 'container');
a.appendTo('body');

您还可以执行以下操作:

var a = $('<div id="container" />').appendTo('body');

快速破解?

此代码从 DOM 中选择匹配的元素

var a = $('div').attr('id', 'container');

要将某个div 存储在变量中,请使用 jQuery 的 .clone(); 方法。

所以例如

var div_copy = $('div').clone(); //Saved for later use