我有一个动态创建div框的应用程序,并通过AJAX加载放在框内的图像。
如果一个盒子已经存在,我不想再次加载图像(通过AJAX)。相反,应该从第一个框中抓取内容(即图像)并应用于新框中。
由于这个原因,我想做这样的事情: “如果存在一个框,请从该框中检索内容并将其应用到新框中。”
下面是一段显示我想要的代码。我需要知道的是如何找出一个盒子是否存在(第1行)以及如何在新盒子中应用内容(第3行)。
1. if (box exist...?) {
2. var content = $('.boxContent').html();
3. $('.boxContent') ?
4. }
5.
6. else {
7.
8. // retrieve the images through AJAX and place in the box...
9.
10. }
答案 0 :(得分:0)
if ($('.boxContent').is('*')) { //it exists
var content = $('.boxContent').html();
var newBox = $('<div id="new-box"></div>');
newBox.html(content);
}
或者,您可以克隆:
if ($('.boxContent').is('*')) { //it exists
var newBox = $('.boxContent').clone();
// newBox is an EXACT copy of the .boxContent
}
在这种情况下,我建议使用ID而不是类选择器。
答案 1 :(得分:0)
你可以通过简单地选择它并在集合的长度上放松来判断DOM中是否存在某些东西:
var boxes = $('.boxContent')
if (boxes.length) {
var content = boxes[0].html();
} else {
// AJAX
}
答案 2 :(得分:0)
检查jQuery中是否有某些元素的正确方法是:
if($('element').length != 0){//element exists
`$('newElement').html($('element').html());`
}
else{
//ajax stuff
}