jQuery中html()方法产生的问题
来源:互联网 发布:羊绒围巾推荐 知乎 编辑:程序博客网 时间:2024/05/17 06:15
今天工作中需要用到这样一个效果:table里面排列着一些文本框,在输入数值以后,保存table的全部html元素,包括刚输入的数值。
这里用jquery的html()方法很容易实现。但是测试的时候发现,在ie8和i火狐(还包括ie9,safari,谷歌浏览器)中,html()得到的值是不一样的。
下面是一个小小的例子,我想大家很容易看明白:
View Code
点击按钮以后的结果如下(注意我画框的地方):
ie8
ie9,火狐
也就是说,FF下获得的HTML只有最原始的代码,不包括动态插入的内容。这样就很纠结,我不希望这样。
至于为什么会这样,也许是火狐等浏览器的限制?我真的不知道,有待研究,哪位大侠能告诉我,感激不尽。
现在我只能尽快想办法解决这个问题,完成工作要求
搜索的百度,谷歌,找到一个老外写的插件,其实是很简单的一个方法,代码如下:
View Code
(function($) {
var oldHTML = $.fn.html;
$.fn.formhtml = function() {
if (arguments.length) return oldHTML.apply(this,arguments);
$("input,textarea,button", this).each(function() {
this.setAttribute('value',this.value);
});
$(":radio,:checkbox", this).each(function() {
if (this.checked) this.setAttribute('checked', 'checked');
else this.removeAttribute('checked');
});
$("option", this).each(function() {
if (this.selected) this.setAttribute('selected', 'selected');
else this.removeAttribute('selected');
});
return oldHTML.apply(this);
};
})(jQuery);
使用方法也很简单,就是替换html()为formhtml()。像这样:
View Code
function save(){
var content = $("#mytable tbody").formhtml();
alert(content);
}
结果大家可以自己试一试。
- jQuery中html()方法产生的问题
- jQuery中html()方法产生的问题
- jQuery 的 html() 方法的问题。
- jQuery中 Math.random()的用法方法,Math.rand()产生
- Js中parseFloat()方法所产生的精度问题
- Js中parseFloat()方法所产生的精度问题
- 在jQuery中Html()方法
- jQuery在HTML中动态插入节点的常用方法
- jquery中html 与 text方法的区别
- 实例说明jquery中html()、text()、val()方法的区别
- JQuery中 .val() .text() .html()方法的区别
- jquery中html(),text(),val()方法的区别
- 扩展jQuery的方法统一处理AJAX调用过程中产生的异常错误信息
- html文件中jquery与velocity冲突的问题
- jQuery中 Math.random()的用法方法>>产生任意随机整数
- html---jquery的eq()方法
- jQuery.html()方法ie下不能设置html代码的问题
- Number调用toString()方法产生的问题
- ACdream 1028
- 关于connection reset by peer 的思考
- 技术总监作用-提高整体效率
- C#冒泡排序
- 在页游中LUA的应用(1)
- jQuery中html()方法产生的问题
- 关于IPv6的2篇IETF文档 【MIPv6, FMIPv6】
- BlackBerry支持的媒体类型media
- Java 6 JVM参数选项大全(中文版)
- VoIP media and transcoding gateway
- Linux 2.6.36内核优化指南
- [转载]I/O复用机制
- 回文数(函数自定义)
- 一个人的博客,有很多面试题