2011-12-27 85 views
6
<div> 
    <a href="#" class="selected">link1</a> 
    <a href="#">link1</a> 
</div> 

自我的HTML代碼,並使用以下得到與jQuery

$('.selected').html()我得到

link1

作爲返回值。

我怎樣才能獲得所選擇的DOM元素的完整的HTML代碼,在這個例子中得到

<a href="#" class="selected">link1</a>

呢?

感謝

+0

是的。只有$('。selected')。parent()。html()可以工作。 – 2011-12-27 14:54:11

+1

@ Umesh如果有一些兄弟姐妹,這也不會工作,這也包括在內。 – Armin 2011-12-27 14:55:49

+0

@Armin,查看接受:) – 2011-12-27 14:57:55

回答

10

jQuery對象:

$('.selected') 

成爲DOM對象:

$('.selected')[0] 

UPDATE

var str = $("<div />").append($('.selected').clone()).html(); 
console.log(str); 
+0

這會給他的DOM對象,而不是HTML字符串... – Deleteman 2011-12-27 15:12:08

+0

哦,你是對的。 – akai 2011-12-28 02:38:50

+0

當有大量數據時,這個克隆是不是有點痛苦? – elhoyos 2013-05-15 21:09:52

12

我知道,這適用於Chrome,不知道休息:

$("#yourElement")[0].outerHTML 

該屬性是從JavaScript(jQuery的沒有),並給你你在找什麼。

+0

這不適用於火狐 – Kupe3 2011-12-27 15:33:01

+0

Mozilla稱它現在正在Firefox 11中工作:https://developer.mozilla.org/en-US/docs/Web/API/Element.outerHTML – Dwayne 2013-12-06 03:13:41

+0

適用於FireFox 47,IE11,Opera 38 – ChelowekKot 2016-07-21 04:24:41

4

我做了類似上述的解決方案,但沒有克隆。

var test = $('#test').wrap('<div class="wrap-unwrap"></div>'); 
var str = test.parent().html(); 
test.unwrap(); 
console.log(str);