本次老系统添加兼容性改造碰到的一个问题. 老系统中单击某一行时通过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的使用document.getElementById("id").innerHTML = "contenttext";
- **IE**: 在IE中,对于某些类型的表单元素(如`<input type="file">`),无法直接使用`value`属性获取其值。 **示例**: ```javascript if (navigator.userAgent.indexOf("MSIE") > -1) { // IE alert("IE中无法...
获取到td的值后,可以进一步处理,如动态修改、存储或发送请求等。同时,要确保在DOM加载完成后再执行这些操作,可以将代码放入`window.onload`或`DOMContentLoaded`事件中。 总结,利用JavaScript获取table中某个...
接下来,我们将通过JavaScript来获取这个span标签的值。首先,我们介绍第一种方法,使用`innerText`属性。`innerText`属性可以获取或设置元素内文本的纯文本内容,它会返回元素内的所有文本内容,忽略掉所有HTML标签...
本文将详细介绍如何在各种浏览器,包括Internet Explorer(IE)和Firefox(FF)等主流浏览器中,正确地获取Iframe中的内容。 首先,理解Iframe的基本概念。Iframe是一种HTML元素,允许我们在一个网页中嵌入另一个...
这篇博客文章(链接已提供但无法直接访问)可能深入探讨了`innerHTML`的工作原理,以及如何在实际编程中有效利用它。博客作者可能讨论了以下知识点: 1. **innerHTML的基本用法**:如何通过`innerHTML`读取和修改...
这个Python教程-04-获取和设置标签内容(innerHTML)将详细解释这些库的使用方法,通过观看`python教程-0-04-获取和设置标签内容(innerHTML).ev4.mp4`视频,你可以得到更直观的演示和实例,帮助你更好地理解和掌握这些...
获取DOM节点(获取的元素都属于DOM对象): 1.根据ID获取元素:document.getElementById 2.根据类名获取元素:document.getElementsByClassName 3.根据标签名获取元素:document.getElementsByTagName 4....
$.ajax({ ... dateType:"json", ... demo2.innerHTML=demo1.value; }else{ alert("更新失败!"); demo2.innerHTML=""; demo2.innerHTML=demo1.value; } } });
比如,如果在一个循环中动态添加了带有特定class的元素,直接使用$(this).text()可能不会获取到预期的值,因为此时的$(this)可能指向的是父元素。这种情况下,需要使用其他方法如.find()或.children()来精确获取目标...
### JavaScript 实现动态增加删除表格行(兼容IE/FF) #### 概述 本文将详细介绍如何使用JavaScript来实现在Web页面上动态增加和删除表格行的功能,并确保该功能在Internet Explorer (IE) 和 Firefox (FF) 等...
根据提供的文件信息,我们可以深入探讨三个重要的DOM属性:`innerHTML`、`innerText`以及`outerHTML`。这些属性在Web开发中非常关键,用于获取或设置元素内部的内容。接下来将详细解析这些属性的功能、用途及差异。 ...
虽然它们都是用于获取内容的,但它们在获取内容的方式和结果上有所不同。 innerHTML 属性 innerHTML 属性用于获取 HTML 元素中的所有内容,包括 HTML 标签。例如,在上面的代码中,test.innerHTML 的值就是...
- `style`对象:IE和FF对CSS属性的处理方式不同,如`style.pixelLeft`在IE中获取像素值,而在FF中使用`style.left`。 3. BOM(浏览器对象模型)差异: - `window.location.href`:在IE中,可以赋值改变页面URL,...
#### 二、使用 `.innerHTML` 获取 `<span>` 标签的值 与`.innerText`不同,`.innerHTML`属性用于获取或设置一个元素的HTML内容(包括所有子节点)。 **示例代码:** ```javascript // 假设HTML中有如下代码: // ...
"vb 通过标题获取ie任一网页源码"这个主题就是关于如何利用VB代码来获取IE浏览器中指定标题的网页源代码。下面我们将详细探讨这个过程,以及涉及到的相关知识点。 首先,我们需要了解VB中的`MSHTML`库,这是一个...
【JavaScript实现切换TD中的值】 在JavaScript中,切换表格(Table)中单元格(TD)的值是一项常见的任务,尤其在动态交互的网页应用中。本文将深入探讨如何使用JavaScript来实现这一功能,并通过实例代码进行讲解...
如果使用`new String()`创建一个对象,IE在任何情况下都无法通过`innerHTML`获取到`type`属性,Firefox也无法在直接赋值为对象时获取。 3. 使用`setAttribute`方法: - `childNode.setAttribute("type",...
本文将围绕“光标处插入”这一主题,深入探讨如何在不同的浏览器环境下,如IE6、IE7和Firefox(FF)中实现兼容性的光标插入功能,特别适用于编辑器中的表情浏览和插入。 首先,让我们了解光标插入的基本概念。在Web...