jquery 获取 outerHtml 包含当前节点本身的代码
2015-08-30 19:54
615 查看
原文:http://www.jb51.net/article/56915.htm
JQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,后来实验发现有一个jQuery的一个方法可以解决
在开发过程中,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,这样也是可行的,但是代码繁琐.
JQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,后来实验发现有一个jQuery的一个方法可以解决
在开发过程中,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,这样也是可行的,但是代码繁琐.
相关文章推荐
- PHP与jquery前后台交互的小程序
- jquery选择器(原创)
- jQueryMobile的组件之弹出窗(popup)
- jQueryMobile的组件之导航条(navbar)
- JQuery基础
- jquery.mousewheel实现整屏翻屏效果
- jquery实现整屏翻屏效果:jquery.mousewheel(一)
- JQuery与Ajax的结合进行文本框内容验证
- IE8下jQuery改变png图片透明度时出现的黑边
- jquery datatable 参数
- jQuery制作鼠标悬停水平滑动门切换特效仿阿里妈妈联盟广告切换特效
- jQuery实现CheckBox全选、全不选
- Jquery Table 的基本操作
- jQuery鼠标事件汇总
- IE8下jQuery改变png图片透明度时出现的黑边问题
- 【JQuery】jQuery自制简易手风琴效果(附实现原理)
- jQuery.extend 函数详解
- jQuery中this与$(this)的区别
- jQuery div层渐入渐出效果
- jQueryMobile的组件之列表(listview)