2010-11-11 2 views
3

Как получить весь контент внутри DIV? Я хочу сохранить весь код, который существует в #wrapper DIV на моей странице. Это просто. Но дело в том, что ... как выбрать все 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

Да, это сработало! –

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() в конце? –

+0

да ... извините, я пропустил контекст, над которым вы работали. Я просто изменил пример. Это работает, но использует 'clone()'. Я подумаю о решении, которое не связано с клоном. – Lee

+0

спасибо за помощь Ли! –

Смежные вопросы