永发信息网

怎样用jQuery自带方法/函数来获取outerHTML属性

答案:3  悬赏:80  手机版
解决时间 2021-01-27 22:02
  • 提问者网友:疯孩纸
  • 2021-01-27 03:46
怎样用jQuery自带方法/函数来获取outerHTML属性
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-01-27 04:00
用jQuery自带方法/函数来获取outerHTML属性:
1、outerHTML() 是js原生的方法,返回DOM节点的内容。返回结果是带html标签的。
I live inside a div.

2、用jquery操作outerHTML需要重写fn,定义如下:
$.fn.outerHTML = function(){
// IE, Chrome & Safari 都是兼容的
return (!this.length) ? this : (this[0].outerHTML || (
function(el){
var div = document.createElement('div');
div.appendChild(el.cloneNode(true));
var contents = div.innerHTML;
div = null;
return contents;
})(this[0]));
}
3、用法如下:
I live inside a div.使用outerHTML 的时候会返回
I live inside a div.
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-01-27 05:57
原生: var ceshi=document.getElementById('ceshi'); alert(ceshi.outerHTML); jQuery: alert($('#ceshi').prop('outerHTML'));
  • 2楼网友:想偏头吻你
  • 2021-01-27 04:25
包括我自己在内(其实我也就这两天才知道这样可以快速获取的),很多jQuery的使用者都对这一问题深感疑惑。为什么在众多方便的各种获取属性和设置属性的方法中就不能像DOM中一样直接设置html元素的outerHTML呢? 原生DOM中获取和设置html元素的outerHTML大家都很熟悉: // 原生DOM获取outerHTML alert('原生DOM获取outerHTML'); alert(document.getElementById('lz66303').outerHTML); // 原生DOM设置outerHTML alert('原生DOM设置outerHTML'); document.getElementById('lz66303').outerHTML = ''; 当然在jQuery中我们可以用.prop()方法来获取和设置html元素的outerHTML,在网上若搜索jQuery获取outerHTML竟然还有人写出函数来了,可悲!——jQuery自带的方法不知还自以为自己写个函数这种方法是什么好的解决方案。 当你看到本文时,请转给更多还在用自定义函数获取outerHTML的jQuery使用者——我这个经验就没白分享了! 其实就这么简单: // 成功获取到 alert('jQuery.prop()获取outerHTML'); alert($('textarea').prop('outerHTML')); // 成功设置,已生效 alert('jQuery.prop()设置outerHTML'); $('textarea').prop('outerHTML', '');
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯