2010-01-30 15 views
2

我已經在我的文檔結構如下:拉出HTML使用jQuery

<div id="clientList> 
<a href=whatever.php" att="something">Text</a> 
<a href=whatever.php" att="something">Text</a> 
</div> 

說我想要得到的所有股利出之間的聯繫,我會怎麼做呢?

我試過如下:

$('#clientList').children("a").each(function() { 
var x = $(this).html(); 
}); 

但我沒有得到完整的鏈接,我得到的只是在鏈接的「文本」的一部分。我如何獲得每個鏈接的完整HTML字符串,包括href和其他屬性?

回答

7

我相信這是JQuery: Select html of an element, inclusive?

愚弄的人無論如何,有提到的,你應該能夠寫一個outerHTML插件有:

jQuery.fn.outerHTML = function() { 
    return $('<a>').append(this.eq(0).clone()).html(); 
}; 

,然後用它作爲

$(this).outerHTML(); 
0

如果您使用jQuery 1.4,你可以使用 unwrap()我還沒有發揮它多少還周圍,但是這是我得到了這麼遠。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script> 
    <script type="text/javascript"> 

     $(function() 
     { 
      var h = $("#clientList a").unwrap(); 
      jQuery.each(h, function(i, val) 
      { 

       alert(val); 

      }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="clientList"> 
    <a href=whatever.php" att="something">Text</a> 
    <a href=whatever.php" att="something">Text</a> 
    </div> 
</body> 
</html> 

這將爲您提供完整的href路徑。現在它現在還沒有得到''屬性。不知道該怎麼做。

0

你試過嗎? :

$('#clientList').children('a').each(function() { 
      alert($(this)[0].outerHTML); 
     }); 
+0

'outerHTML'不是標準的 - 而且AFAIK只支持IE。 – James 2010-01-30 23:17:40

+0

'outerHTML'是一個非標準的IE擴展。它不適用於Firefox(或其他某些瀏覽器)。 [哈!快照] – bobince 2010-01-30 23:19:31