jQuery.html() 是獲取當前節點下的html代碼,並不包含當前節點本身的代碼,然而我們有時候的確需要,可以通過jQuery.prop("outerHTML")的方式設置。
很多jQuery的使用者都對這一問題深感疑惑。爲什麼在衆多方便的各種獲取屬性和設置屬性的方法中就不能像DOM中一樣直接設置html元素的outerHTML呢?
因爲原生JS DOM裏有一個內置屬性 outerHTML (看清大小寫哦,JS是區分大小寫的)用來獲取當前節點的html代碼(包含當前節點),所以用jQuery的prop()能拿到
一、jquery獲取outerhtml
<div class="test"><p>hello,你好!</p></div>
<script>
$(".test").prop("outerHTML");//結果:<div class="test"><p>hello,你好!</p></div>
</script>
二、jquery設置outerhtml
$('.test').prop('outerHTML', '<input>');