IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    怎样用jQuery来获取outerHTML属性?

    phpvar发表于 2016-09-30 09:56:30
    love 0
    获取元素的内容(并包含元素本身)原生js 或 jQuery能实现吗? 都能,代码如下: 1、js:ele.outerHTML 2、jq: $(ele)[0].outerHTML 也许没看这篇文章前,很多做开发的朋友都会用上面的代码去实现。上面两种写法固然没错,只是我们要知道:其实用jq的话,不用把jq对象转换成js Dom对象也照样能实现获取元素的内容(并包含元素本身)! 怎么去写呢?先不急,我们先看下国外友人是怎么曲折实现的:
    jQuery.fn.outerHTML = function(s) {
    return (s)? this.before(s).remove(): jQuery("
    ").append(this.eq(0).clone()).html(); }
    外国朋友特地将这个功能写成一个jquery插件啦,这插件这样用: 获取:$(ele).outerHTML(); 替换:$(ele).outerHTML("新替换内容"); 通过jquery获取元素的内容(并包含元素本身),这功能是实现了。当然这种思路也可以借鉴学习下,但实际上自jQuery1.6版本后,有增加prop()方法,通过这个方法我们可以直接这样写:$(ele).prop("outerHTML") 。 也就是说jQuery获取/替换元素的内容(并包含元素本身),可直接这么写: 获取:$(ele).prop("outerHTML"); 替换:$(ele).prop("outerHTML","新替换内容"); 参考资料: 怎样用jQuery自带方法/函数来获取outerHTML属性 jQuery类库实现:innerHTML和outerHTML  jQuery: outerHTML js outerHTML、innerHTML和innerText的用法区别


沪ICP备19023445号-2号
友情链接