jQuery html() in Firefox (uses .innerHTML) ignores DOM changes

DOM:


代码如下:

function DisplayTextBoxValue(){
var element = document.getElementById('textbox');
// set the attribute on the DOM Element by hand - will update the innerHTML
element.setAttribute('value', element.value);
alert(document.getElementById("container").innerHTML);
return false;
}

jQuery plugin that makes .formhtml() automatically do this:


代码如下:

(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() {
// im not really even sure you need to do this for "checked"
// but what the heck, better safe than sorry
if (this.checked) this.setAttribute('checked', 'checked');
else this.removeAttribute('checked');
});
$("option", this).each(function() {
// also not sure, but, better safe...
if (this.selected) this.setAttribute('selected', 'selected');
else this.removeAttribute('selected');
});
return oldHTML.apply(this);
};
//optional to override real .html() if you want
// $.fn.html = $.fn.formhtml;
})(jQuery);

(0)

相关推荐

  • jQuery获取文本节点之 text()/val()/html() 方法区别

    在jquery中val,text,html都能取到值,或加一个参数来赋值,那么它们有些什么区别?下面我们来举例说明: 首先,html属性中有两个方法,一个有参,一个无参 1. 无参html():取得第一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档,返回的是一个String 例子: html页面代码:<div><p>Hello</p></div> jquery代码:$("div").html(); 结果:H

  • innerHTML与jquery里的html()区别介绍

    看个示例: 复制代码 代码如下: var tbody=document.createElement('tbody'); tbody.innerHTML='<tr><td>IE下tbody的innerHTML是只读的</td></tr>'; //在IE下报错,目标对象错误 现在用jquery的html试试, 复制代码 代码如下: $(tbody).html('<tr><td>IE下tbody的innerHTML是只读的</td&g

  • jquery text(),val(),html()方法区别总结

    text():1.无参获取每一个匹配元素的文本内容 2.有参数 给每一个匹配元素赋值 val():1.无参获取第一个匹配元素的值 2.有参数 给每一个匹配元素赋值 html():1.无参获取第一个匹配元素的标签内容 2.有参数给每一个匹配元素赋值

  • jquery append()方法与html()方法的区别及使用介绍

    append(content):方法在被选元素的结尾(仍然在内部)插入指定内容,有很多朋友觉得append与html差不多,其它从英文意义上append是在原有基础上增加,而html中是替换当前所有内容. 定义和用法 append() 方法在被选元素的结尾(仍然在内部)插入指定内容. $(selector).append(content) 使用函数来附加内容 使用函数在指定元素的结尾插入内容. 语法 $(selector).append(function(index,html)) 实例代码: <

  • JQuery中html()方法使用不当带来的陷阱

    查看源码 复制代码 代码如下: return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(rinlinejQuery, "") : null; 得知其通过非标准的但所有浏览器都支持的innerHTML实现. 有些使用者会用html()方法的返回值作为代码分支的条件,比如: 复制代码 代码如下: var str = $('#user').html(); if( str=='jack' ){ .

  • jQuery html()方法使用不了无法显示内容的问题

    $("#content").html(data.content); $("#content")[0].innerHTML = data.content; 今天遇到jquery中的html方法使用不了,只能用完最基本的innerHTML把内容展示出来.具体原因还没找到,肯定跟内容有关,展示不了的html放上来供以后检查原因,是我收到csdn的一封邮件. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Trans

  • 『jQuery』.html(),.text()和.val()的概述及使用

    本节内容主要介绍的是如何使用jQuery中的.html(),.text()和.val()三种方法,用于读取,修改元素的html结构,元素的文本内容,以及表单元素的value值的方法.jQuery中为我们提供了多种方法用于对元素的HTML结构和元素的文本内容的操作,比如说,你可以给已存在的元素的内部,周围,前面或者后面增加新元素:或者用一个元素替代另一个元素:你也可以读取或者修改一个元素的内容或结构.有时我们就会比较模糊,不知道是给元素增加内容或者增加一个元素,比如说我们需要给一个存在的元素有效的

  • jQuery html()等方法介绍

    对于获取某一个元素的值,如input框,我们往往是用$('#test').val(); $('#test')这个我就不多说了,反正就是获取ID为test的这个元素. $('#test').val(),也就是获取它的值,一般来说,凡是能够用在FORM里的元素,都可以用.val()来进行值的获取,如input,textarea,select等,都可以用.val()来获取它们的当前值 而.val('aa');则是设置该元素的值,$('#test').val('aa'),也就是相当于设置test元素的值

  • jquery 学习之二 属性(html()与html(val))

    html() 取得第一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档. Get the html contents of the first matched element. This property is not available on XML documents (although it will work for XHTML documents). 返回值 String 示例 复制代码 代码如下: HTML 代码: <div><p>Hell

  • jquery 的 $("#id").html() 无内容的解决方法

    我加了一个 $("#id").html("<span>"+result+"</span>"); 加上span就行了!!! 在这里记录一下. 一般的解决方法:注意result的命名是不是跟一些自带重复,建议用content等. 今天我在把这个写成一个函数的时候,也需要注意一下: function doad(datastr,id){ //getid(id).innerHTML = datastr; $("#"

随机推荐