jquery獲取自身元素的html

在開發過程中,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");
</script>
html() 函數改變所匹配的 HTML 元素的內容(innerHTML)。

  1. .html()用爲讀取和修改元素的HTML標籤
  2. .text()用來讀取或修改元素的純文本內容
  3. .val()用來讀取或修改表單元素的value值
二、jquery設置outerhtml
$('.test').prop('outerHTML', '<input>');

<html>
 <head>
     <title>jQuery獲取自身HTML</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <meta http-equiv="Content-Language" content="zh-CN" />
     <script type="text/javascript" src="http://files.cnblogs.com/Zjmainstay/jquery-1.6.2.min.js"></script>
 </head>
 <body>
 <div class="aa" style="border:1px solid #ABC;width:200px;text-align:center;">點擊獲取我自身的HTML吧</div>
 <script type="text/javascript">
	 $(document).ready(function(){
	    $(".aa").click(function(){alert($("<p>").append($(this).clone()).html())});
	 });
 </script>
 </body>
</html>
運行結果如下:





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章