2010-07-10 3 views
0

ont une question suivante:
par exemple. nous avons html suivant avec la structure:jquery et l'enveloppe 'innerHTML'

<html> 
    <head> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       $($("#global").attr("innerHTML")).wrap('<div name="wrapper"></div>'); 
      }) 
     </script> 
    </head> 
    <body> 
     <div id="global"> 
      <div id="container"> 
       <div id="sub1"> 
        <h1> hello world </h1> 
       </div> 
       <div id="sub2"> 
        <h1> hello world again</h1> 
       </div> 
      </div> 
      <div id="container3"> 
        <h1> hello world again</h1> 
      </div> 
     </div> 
    </body> 
</html> 

mais wrap fonction, certains pourquoi ne fonctionnera pas sur elle, comme je le pense, il arrive, parce que innerHTML n'a pas parent, donc, comment puis-je éviter cela, et envelopper quelques éléments (qui a «un niveau» et un parent commun)?

Répondre

2

essayer

$("#global").contents().wrapAll('<div name="wrapper"></div>'); 

demo

0

Je ne suis pas sûr que je comprends exactement ce que vous demandez, mais si vous voulez envelopper les conteneurs, faire:


$(document).ready(function(){ 
    $("#global > div").wrap('...'); 
}) 

Si vous voulez envelopper les sous-marins, faites:


$(document).ready(function(){ 
    $("#global > div > div").wrap('...'); 
}) 

Si vous voulez envelopper tous les divs, faites:


$(document).ready(function(){ 
    $("#global div").wrap('...'); 
})