`

FF Chrome IE11 innerHTML参数无法获取到value的值.

阅读更多
本次老系统添加兼容性改造碰到的一个问题. 老系统中单击某一行时通过obj.innerHTML获取数据.用IE11一直无法获取动态赋的value值,连手动填入的也无法获取. 神奇了.

IE8下的效果:



IE11下的效果(不开兼容性)




查了半天的谷歌终于找到了一个办法.
1.先引入jquery.
2.添加代码
(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');
			elsethis.removeAttribute('checked');
		});
		$("option", this).each(function() {
			if (this.selected) this.setAttribute('selected', 'selected');
			elsethis.removeAttribute('selected');
		});
		return oldHTML.apply(this);
	};
})(jQuery);

function getHTML(obj){
	return $(obj).formhtml();
}
function tr_click(obj){
  var _html0 = getHTML(obj);
  alert(_html0);
}




总结:页面中输入的那个value,对DOM元素来说是个property,是不属于innerHTML里的IE8以下版本会出现,是因为IE不分attribute和property,这是IE的BUG,在IE9的时候终于得以修复而这个formHtml这个函数,强行给input元素加了一个叫value的attribute,从概念上说和dom的值value是不一样的,概念不同,不管怎么样,问题能解决就ok,不管是神马猫,能抓老鼠的猫就好好猫!

感谢 http://www.cnblogs.com/zhaozi/archive/2012/03/24/2415290.html
  • 大小: 8.1 KB
  • 大小: 14.5 KB
分享到:
评论

相关推荐

    用谷歌浏览器得不到动态添加表单的值

    在使用谷歌浏览器(Chrome)处理网页交互时,有时会遇到一个问题:通过JavaScript的`innerHTML`属性无法正确获取动态添加到页面中的表单元素的值。这个问题与不同浏览器之间的兼容性有关,尤其是与Internet Explorer...

    innerHTML的使用

    innerHTML的使用document.getElementById("id").innerHTML = "contenttext";

    IE_FF兼容性

    - **IE**: 在IE中,对于某些类型的表单元素(如`<input type="file">`),无法直接使用`value`属性获取其值。 **示例**: ```javascript if (navigator.userAgent.indexOf("MSIE") > -1) { // IE alert("IE中无法...

    获取table中某个td的值

    获取到td的值后,可以进一步处理,如动态修改、存储或发送请求等。同时,要确保在DOM加载完成后再执行这些操作,可以将代码放入`window.onload`或`DOMContentLoaded`事件中。 总结,利用JavaScript获取table中某个...

    js获取html的span标签的值方法(超简单)

    接下来,我们将通过JavaScript来获取这个span标签的值。首先,我们介绍第一种方法,使用`innerText`属性。`innerText`属性可以获取或设置元素内文本的纯文本内容,它会返回元素内的所有文本内容,忽略掉所有HTML标签...

    [导入]Javascript获取IFrame内容(兼容IE&FF)

    本文将详细介绍如何在各种浏览器,包括Internet Explorer(IE)和Firefox(FF)等主流浏览器中,正确地获取Iframe中的内容。 首先,理解Iframe的基本概念。Iframe是一种HTML元素,允许我们在一个网页中嵌入另一个...

    innerHtml(转)

    这篇博客文章(链接已提供但无法直接访问)可能深入探讨了`innerHTML`的工作原理,以及如何在实际编程中有效利用它。博客作者可能讨论了以下知识点: 1. **innerHTML的基本用法**:如何通过`innerHTML`读取和修改...

    python教程-04-获取和设置标签内容(innerHTML).ev4.rar

    这个Python教程-04-获取和设置标签内容(innerHTML)将详细解释这些库的使用方法,通过观看`python教程-0-04-获取和设置标签内容(innerHTML).ev4.mp4`视频,你可以得到更直观的演示和实例,帮助你更好地理解和掌握这些...

    JavaScript笔记总结(Xmind格式):第七天

    获取DOM节点(获取的元素都属于DOM对象):  1.根据ID获取元素:document.getElementById  2.根据类名获取元素:document.getElementsByClassName  3.根据标签名获取元素:document.getElementsByTagName  4....

    CONVERT函数方法大全_JAIMY.files ajax test url

    $.ajax({ ... dateType:"json", ... demo2.innerHTML=demo1.value; }else{ alert("更新失败!"); demo2.innerHTML=""; demo2.innerHTML=demo1.value; } } });

    JS获取Table中td值的方法

    比如,如果在一个循环中动态添加了带有特定class的元素,直接使用$(this).text()可能不会获取到预期的值,因为此时的$(this)可能指向的是父元素。这种情况下,需要使用其他方法如.find()或.children()来精确获取目标...

    javascript实现动态增加删除表格行(兼容IE FF).docx

    ### JavaScript 实现动态增加删除表格行(兼容IE/FF) #### 概述 本文将详细介绍如何使用JavaScript来实现在Web页面上动态增加和删除表格行的功能,并确保该功能在Internet Explorer (IE) 和 Firefox (FF) 等...

    innerHTML-outerHTML-innerTEXT.txt

    根据提供的文件信息,我们可以深入探讨三个重要的DOM属性:`innerHTML`、`innerText`以及`outerHTML`。这些属性在Web开发中非常关键,用于获取或设置元素内部的内容。接下来将详细解析这些属性的功能、用途及差异。 ...

    innerHTML和innerText的区别

    虽然它们都是用于获取内容的,但它们在获取内容的方式和结果上有所不同。 innerHTML 属性 innerHTML 属性用于获取 HTML 元素中的所有内容,包括 HTML 标签。例如,在上面的代码中,test.innerHTML 的值就是...

    【速查手册】IE与FF下JS的区别

    - `style`对象:IE和FF对CSS属性的处理方式不同,如`style.pixelLeft`在IE中获取像素值,而在FF中使用`style.left`。 3. BOM(浏览器对象模型)差异: - `window.location.href`:在IE中,可以赋值改变页面URL,...

    js获取html的span标签的值方法.docx

    #### 二、使用 `.innerHTML` 获取 `<span>` 标签的值 与`.innerText`不同,`.innerHTML`属性用于获取或设置一个元素的HTML内容(包括所有子节点)。 **示例代码:** ```javascript // 假设HTML中有如下代码: // ...

    vb 通过标题获取ie任一网页源码

    "vb 通过标题获取ie任一网页源码"这个主题就是关于如何利用VB代码来获取IE浏览器中指定标题的网页源代码。下面我们将详细探讨这个过程,以及涉及到的相关知识点。 首先,我们需要了解VB中的`MSHTML`库,这是一个...

    javascript实现切换td中的值.docx

    【JavaScript实现切换TD中的值】 在JavaScript中,切换表格(Table)中单元格(TD)的值是一项常见的任务,尤其在动态交互的网页应用中。本文将深入探讨如何使用JavaScript来实现这一功能,并通过实例代码进行讲解...

    JS 动态获取节点代码innerHTML分析 [IE,FF]

    如果使用`new String()`创建一个对象,IE在任何情况下都无法通过`innerHTML`获取到`type`属性,Firefox也无法在直接赋值为对象时获取。 3. 使用`setAttribute`方法: - `childNode.setAttribute("type",...

    光标处插入,兼容IE6,IE7,FF等,适用于编辑器,浏览插入表情

    本文将围绕“光标处插入”这一主题,深入探讨如何在不同的浏览器环境下,如IE6、IE7和Firefox(FF)中实现兼容性的光标插入功能,特别适用于编辑器中的表情浏览和插入。 首先,让我们了解光标插入的基本概念。在Web...

Global site tag (gtag.js) - Google Analytics