2010-11-11 29 views
3

如何获取DIV中的所有内容?我想保存页面中#wrapper DIV中存在的所有代码。这很容易。但事情是...如何为一个特定对象(带有“main”类的图像)选择全部EXCEPT。Jquery - 获取DIV中的所有内容,除了特定的对象

你可以看到它是如何在这里工作http://www.jsfiddle.net/8A27a/

这是我到目前为止有:

 <div id="wrapper"> 
      <div class="icon"><img src="http://www.yousendit.com/en_US/theme_default/images/g_logo_trans_110x63.gif"></div> 
      <div class="icon"><img src="http://www.yousendit.com/en_US/theme_default/images/g_logo_trans_110x63.gif"></div> 
      <div class="icon"><img src="http://www.yousendit.com/en_US/theme_default/images/g_logo_trans_110x63.gif"></div> 
      <img class="main" src="http://afteramerica.files.wordpress.com/2010/01/061221225103_abraham_lincoln_lg1.jpg"> 
     </div> 

     <input type="button" value="save" class="save"> 

    <script> 
$(document).ready(function() { 
      $('.save').live('click', function() { 
       var content = $('#wrapper').html(); 
       alert(content); 
      }); 
}); 
</script> 

回答

7

我能想到的唯一可靠的方法是克隆DIV,删除IMG标记,并得到生成的HTML:

var e = $('#wrapper').clone(); 
$('img.main', e).remove(); 
alert(e.html()); 

注意对于有很多内容的DIV来说,这可能是低效的。

+0

是的,工作! – 2010-11-11 01:56:08

1

试试这个

$('.save').live('click', function() { 
    var content = $('#wrapper > *').not('img.main').clone(); 
    content = $('<div></div>').append(content); 
    content = content.html(); 
    alert(content); 
}); 

[编辑]改善例如匹配OP的例子。

+0

嗯..它似乎没有返回OBJECT OBJECT ...我可以在它的末尾添加HTML()吗? – 2010-11-11 01:53:14

+0

是啊...对不起,我错过了你正在工作的背景。我只是改变了这个例子。这有效,但它使用'clone()'。我会考虑一个不涉及克隆的解决方案。 – Lee 2010-11-11 01:58:35

+0

感谢您的帮助! – 2010-11-11 06:51:17

相关问题