我的代码有这一行。
var variableName = $("<div class='class-name'></div>");
console.log(variableName); -> Object[div.class-name]
我想知道这在Jquery中是指什么,以及我们如何在该对象中添加移动值,如
Object[div.class-name, div.class-name]
实际代码是:
var overlapCollector;
$.each(region, function(i, r){
var overlapper = $("<div class='markup-overlapper'></div>").appendTo( markupCanvas );
overlapper.css({
"position": "absolute",
"left": r.x1,
"top": r.y1,
"width": r.x2-r.x1,
"height": r.y2-r.y1
}).toggleClass("exclude", ex);
overlapCollector = overlapper.add(overlapper);
console.log(overlapCollector);
});
请帮忙
由于
答案 0 :(得分:2)
您必须使用.add(),但您还必须记住,此函数不会附加到当前对象,而是返回包含所需内容的新对象。
使用以下方法确保适当的行为:
var variableName = $("<div class='class-name'></div>");
variableName = variableName.add($("<div class='another-div'></div>"));
console.log(variableName); -> Object[div.class-name, div.another-div]
编辑:由于下面的评论询问了循环:
var variableName = $("<div class='class-name'></div>");
for(...){
variableName = variableName.add($("<div class='another-div'></div>"));
}
console.log(variableName); -> Object[div.class-name, div.another-div, ..., div.another-div]
答案 1 :(得分:0)
您可以使用.add()
创建一个新的jQuery对象,并将元素添加到匹配元素集中。 将匹配项作为新 jQuery对象返回。
所以你的代码可能如下:
var variableName = $("<div class='class-name'></div>");
variableName = variableName.add($("<span class='new-class'></span>"));
console.log(variableName); // -> Object[div.class-name, span.new-class]
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 2 :(得分:0)
只需这样做
$("<div class='class-name'></div><div class='class-name'></div>")
或者
$("<div class='class-name'></div>").add("<div class='class-name'></div>")
答案 3 :(得分:0)
不确定你的意思&#34;在该对象中创建移动(更多?)值&#34;。
如果您指的是属性,则可以执行以下操作:
var x = $('<div/>', {"class":"class-name", "id":"someId"});
如果您想要在当前集合中添加其他对象,则需要使用.add()(如上所述):
var x = $('<div/>');
x.add('div');
在这里,你最终会在你的&#34;集合&#34;中得到2个div。此外,jQuery对象集合将按照元素在DOM中出现的顺序返回 - 而不是按照您可能添加到集合中的顺序返回....
HTH