2008-11-28 11 views

cevap

4

, sen ye olde JavaScript kullanabilirsiniz: Yanlış üzgün

var html = $mySet[0].outerHTML; // note HTML is all caps... that always burns me 
+0

Bu oldukça kolay tüm öğeleri almak için genişletmek olabilir.:.; Get() katılmak ('') '$ mySet.map (function() {this.outerHTML return});' Geri Ben, bu soruyu yazdığında tüm tarayıcılar 'outerHTML' desteklenen, ancak şimdi sahip görünmektedir [oldukça iyi destek] (https://developer.mozilla.org/en/DOM/element.outerHTML#Browser_compatibility) – nickf

+1

sadece HTML dizesini döndürür ilk öğe bulundu. – vsync

+0

Bu cevabın büyük bir hayranı değil - eğer setiniz _doesn't_ bir öğeden oluşuyorsa? Bu cevap çok kötü olmasının nedeni – Thomas

0
var $mySet = $('div'); 
var html = $mySet.html(); 

: Bu arada

var $mySet = $('div'); 
var html = $mySet.clone().wrap('<div></div>').html(); 

, burada $ değişken adı parçasıdır. Javascript, değişken isimler için PHP'de $ gibi bir şey gerektirmez, ancak buna sahip olmak zarar vermez. Sana "Yukarıda düz HTML dönen" demek de ne anlarsanız, jQuery appendTo yöntemi kullanarak

+1

. Bu sadece ilk divın iç HTML'sini döndürecektir. Yukarıdaki ilk örnekte olduğu gibi HTML'ye dönmek için aslında arıyorum. – nickf

+0

İkinci snippet'i bir deneyin. – strager

11

i o yeni kabın html() kapma, geçici kapsayıcı oluşturma öneririm:

var html = $('<div>').append($('div').clone()).html(); 
alert(html); 

// alerts: 

<div class="abc"> 
    foo <strong>FOO</strong> 
</div><div class="def"> 
    bar 
</div> 
1

belki ne istediğinizi bir istemci tarafı şablon motorudur. Client Templating with jQuery

'u kullanıyorum ve kullanıyorum oldukça havalı. Sen sadece bir div içine Kullanmak istediğiniz şablonu ayarlamak, o zaman bir json nesnesi/dizi yem ve işte bu kadar. Belirlediğiniz kesin bir öğe oluşuyorsa

İlgili konular