jQuery 的 outerHTML 写法

发布时间:2016-7-15 16:31:22

 jQuery.fn.outerHTML = function(s) {
return (s) ? this.before(s).remove() : jQuery("p").append(this.eq(0).clone()).html();
}

这是用 jQuery 来模拟 js 的 outerHTML 的写法,其实很简单, jQuery.fn.outerHTML 这样的写法算是 jQuery 的扩展的一种写法了,

s 就是参数值, 这里用到了 三元操作 , (s) ? this.before(s).remove() : jQuery("p").append(this.eq(0).clone()).html();

即如果 s 有值就操作 this.before.remove() 否则 就操作 jQuery("p").append(this.eq(0).clone()).html()

这里jQuery 的before 操作是将 s 内容加在 this 的前面,并不是一个选择器,所以 this.before(s) 返回的还是 this 这个对象, 所以下面的

remove() 就是操作的 this 这个对象 ! 

http://hi.baidu.com/zwfec/item/17b8ddad8e2e8ea828ce9d42