jQuery 获取当前节点的html包含当前节点的方法 --$(".test").prop("outerHTML");

    xiaoxiao2021-12-14  36

    如  <body> <div>aa</div> </body> 通过document.body.innerHTML获取到的内容是:<div>aa</div> 通过document.body.outerHTML获取到的内容是:<body><div>aa</div></body> 需要注意的是outerHTML属性只有IE浏览器才有,其它浏览器是不支持的

    在开发过程中,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,这样也是可行的,但是代码繁琐。

    转载请注明原文地址: https://ju.6miu.com/read-971452.html

    最新回复(0)