从另一个div中检索内容并应用于新div

时间:2011-12-18 12:53:10

标签: jquery ajax dom html

我有一个动态创建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. }

3 个答案:

答案 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
}