学编程就是这样,懂得越多,麻烦的问题也越多。
首先来看一下我无意发现的一个诡异问题:
修改对象中的属性,会把这个对象弄消失掉?
语言,HTML/Javascript
先上代码:(省略了一下没用的标签)
<script language="javascript">
function F()
{
t1.outerHTML="apple"
}
function E()
{
alert(t1.outerHTML);
}
</script>
<input type="text" name="t1" value="abc">
<input type="button" name="s1" value="按钮1" onClick="F()">
<input type="button" name="s2" value="按钮2" onClick="E()">
代码非常简单,一个对象名为t1的文本框,两个按钮,这里先说明一下标签的outerHTML属性:设置或获取对象及其内容的 HTML 形式,好,如果我们首先点击s2按钮,就会正常显示出t1的outerHTML属性内容,但是如果先点击s1调用F()函数再点击s2,就会出现错误!原因是调用f()函数,t1的outerHTML属性修改为一个普通字符串,这个t1对象已经消失掉了!这是怎么回事,难道修改一个对象的属性也能让这个对象消失吗??
首先来看一下我无意发现的一个诡异问题:
修改对象中的属性,会把这个对象弄消失掉?
语言,HTML/Javascript
先上代码:(省略了一下没用的标签)
<script language="javascript">
function F()
{
t1.outerHTML="apple"
}
function E()
{
alert(t1.outerHTML);
}
</script>
<input type="text" name="t1" value="abc">
<input type="button" name="s1" value="按钮1" onClick="F()">
<input type="button" name="s2" value="按钮2" onClick="E()">
代码非常简单,一个对象名为t1的文本框,两个按钮,这里先说明一下标签的outerHTML属性:设置或获取对象及其内容的 HTML 形式,好,如果我们首先点击s2按钮,就会正常显示出t1的outerHTML属性内容,但是如果先点击s1调用F()函数再点击s2,就会出现错误!原因是调用f()函数,t1的outerHTML属性修改为一个普通字符串,这个t1对象已经消失掉了!这是怎么回事,难道修改一个对象的属性也能让这个对象消失吗??
解决方案 »
- javascript如何得到一个字符在一个字符串中出现的次数和位置
- kindeditor 问题,急急急
- 三道面试题,急求答案
- 怎么让 Firefox 支持 document.getElementById("myform").xx 这种形式呢?
- 插入图片的问题(把一个框架里的图片插入到编辑区)?
- createNode在html文挡的document或其它地方能用吗?document.createNode,这样好象不行。
- 关于用JS获得返回URL中的参数
- 各位大虾,如何让页面上的下拉列表控件具有只读属性?点击也不能进行选择??
- 老板要我用JAVASCIRPT编检查!不懂~``
- 请问在JS中怎么判断一个字符是中文还是数字或是其它的字符呢?还有中文算作2个字符吗?(
- 这个Frame框架的问题?
- select默认项不能被选中
我知道firefox对table操作innerHTML连续两次会出现Render的问题。
=============
相当于<input type="text" name="t1" value="abc"> 变成 "apple" 了
那么input对象应该就消失了