在开发过程中,jQuery.html() 是获取当前节点下的html代码,并不包括当前节点本身的代码,然后我们有时候确须要。找遍jQuery api文档也没有不论什么方法能够拿到。
看到有的人通过parent().html()。假设当前元素没有兄弟元素还行,假设有那即可不通了。后台实验发现有一个jQuery的一个方法能够解决,并且很简便,例如以下:
jQuery.prop("outerHTML");
<div class="test"><p>hello,你好!</p></div> <script> $(".test").prop("outerHTML"); </script>
输出结果为:<div class="test"><P>hello,你好。</p></div>
由于原生JS DOM里有一个内置属性 outerHTML (看清大写和小写哦。JS是区分大写和小写的)用来获取当前节点的html代码(包括当前节点)。所以用jQuery的prop()能拿到,经过实验attr()方法是拿不到的,不信的话,大家也能够尝试尝试,谢谢。
当然也有人用jQuery的 clone() 函数配合append() 来创建一个仅仅有一个子元素的节点,然后来拿节点的html。这样也是可行的,可是代码繁琐。