今天在现在的项目中,涉及到这样一个案例,我要用innerHTML临时保存一个div中的内容,然后在某种条件满足时,再把这个innerHTML返回给这个div。
在这个div中,如果存在有edit的标签,当我重新将保存的内容返回的时候,用Firefox浏览时发现edit里面的内容空空如也!!!
同样的应用方式,另外一个div中的edit的内容却能完完整整的恢复,我诧异啊???
我尝试用IE打开,前后两个div都能正常工作,所有内容都能完璧归赵。
赶紧查资料,看代码,最后发现,两个div中的edit的创建方式是不一样的。前一个div是通过createElement创建edit并为之添加各种属性的,代码示意如下:
var edit = document.createElement("input");
edit.id = name;
edit.type = "text";
edit.value = val;
div.appendChild(edit);
而后一个div则是通过直接加入HTML的方式加入的,示意如下:
var html = "<input type='text' id='" + name + "' value='" + val + "' />";
div.innerHTML = html;
慢慢的,问题的根源就豁然开朗!不同于M$ IE,在Mozilla Firefox下的innerHTML通过遍历元素的所有节点的tagName还有attrubutes来得到其innerHTML的,因此我们前一个例中的innerHTML得不到改动后的value值。
将前一段代码修改如下,则innerHTML在IE和FF下都会通行无阻:
var edit = document.createElement("input");
edit.id = name;
edit.setAttribute("type", "text");
edit.setAttribute("value", name);
div.appendChild(edit);
分享到:
相关推荐
1. **innerHTML的基本用法**:如何通过`innerHTML`读取和修改元素的内容。例如,`element.innerHTML`返回元素的HTML,而`element.innerHTML = someHTMLString`则将元素内容替换为指定的HTML字符串。 2. **性能影响*...
innerHTML的简单应用
首先,我们需要理解`innerHTML`的工作原理。当设置一个元素的`innerHTML`时,浏览器会做以下几件事: 1. 清空当前元素的所有子节点。 2. 解析新设置的HTML字符串,生成一个DOM树。 3. 将新的DOM树插入到原始元素的...
innerHTML的使用document.getElementById("id").innerHTML = "contenttext";
innerHTML 属性 innerHTML 属性用于获取 HTML 元素中的所有内容,包括 HTML 标签。例如,在上面的代码中,test.innerHTML 的值就是“<span style="color:red">test1</span> test2”,包括 HTML 标签。 innerHTML ...
解决 Ajax 返回 innerHTML 中 JavaScript 不能运行问题 在实际应用中,我们经常会遇到使用 Ajax 返回某一个网页的内容到模板页面的某一个 `<div>` 标签中显示的操作。如果返回的值仅仅是文本类数据,不会影响模板...
### JavaScript中的innerHTML与innerText的用法与区别 在前端开发中,经常需要用到JavaScript来操作DOM元素,其中`innerHTML`和`innerText`是非常重要的属性,它们分别用于获取或设置元素内部的HTML内容和纯文本...
本文将探讨如何利用innerHTML实现页面元素的隐藏与显示效果,同时提供两种不同的实现方法。 首先,我们需要理解innerHTML的工作原理。innerHTML允许我们获取或设置一个元素的所有子节点,包括文本、HTML标签等。当...
标题中的“react-Innerself使用innerHTML将ReactRedux转换成50行代码”表明这是一个关于简化React和Redux集成的项目,它使用了一种叫做Innerself的技术。Innerself是一种轻量级的解决方案,通过innerHTML属性来实现...
本文将深入探讨如何通过改变`innerHTML`的内容来动态增加选择项,以及在实际开发中的应用。 首先,我们要理解`innerHTML`的工作原理。`innerHTML`可以获取或设置一个元素的所有HTML内容。当我们设置`innerHTML`时,...
根据提供的文件信息,我们可以深入探讨三个重要的DOM属性:`innerHTML`、`innerText`以及`outerHTML`。这些属性在Web开发中非常关键,用于获取或设置元素内部的内容。接下来将详细解析这些属性的功能、用途及差异。 ...
超全面javaweb第4天-_08_innerHTML属性
python的xpath没有获取div标签内html内容的功能,也就是获取div或a标签中的innerhtml,写了个小程序实现一下: 源代码 [webadmin@centos7 csdnd4q] #162> vim /mywork/python/csdnd4q/z040.py #去掉最外层标签,...
千锋Web前端教程_48_日期对象_定时器和innerhtml
简单日历和innerHTML使用 javascript的简单应用实例 可以自定义Css
本文将深入探讨一个特定的问题,即在Internet Explorer 6、7和8(以下简称IE6/7/8)浏览器中使用`innerHTML`属性清空元素时,其子元素也会被一并清空的特性。这个现象在其他现代浏览器中并不常见,因此了解这一问题...
html js innerHTML outerHTML innerText outerText 等的区别及实例汇总
### innerHtml用法精解 #### 一、InnerHtml简介及基本用法 `innerHTML`是HTML DOM(Document Object Model)的一个属性,用于获取或设置某个元素内的HTML内容。使用`innerHTML`,开发者可以直接操作HTML内容,从而...
`innerHTML` 属性: `innerHTML` 用于获取或设置一个元素的HTML内容,包括开始标签、结束标签以及它们之间的所有内容。当你想要读取元素内HTML代码或者动态地修改元素内部的HTML结构时,`innerHTML` 就非常有用。...
特别需要注意的是,innerText只适用于IE浏览器,而innerHTML则是W3C标准属性,因此,在实际开发中,尽可能地使用innerHTML,而少用innerText。如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的...