代码只有一小段,如下:
哦..博客园插入代码的功能出问题了..我直接贴代码吧..
请复制后存成html,在浏览器打开就能看到效果了..
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>主页</title>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
function showB()
{
alert(b.innerHTML);
// alert(btnOpen.innerHTML);//报错,说btnOpen未定义,为什么div元素可以,而button元素不可以?
alert(document.forms[0].btnOpen.innerHTML);//要这样写才行,虽然.不出来,直接写上去是可以的
document.forms[0].btnOpen.click();//模拟鼠标点击
$("#b").show();
}
function hideB()
{
$("#b").hide();
}
</script>
</head>
<body>
<form>
<div style='border:10px solid gray;'>
<div style='height:auto;border:1px solid red;'>
<table>
<tr><td><div id="a" style='width:300px;height:200px;border:1px solid blue;'></div></td></tr>
<tr><td><div id="b" style='width:300px;height:200px;border:1px solid black;'>asdsad</div></td></tr>
</table>
</div>
<div>
<div style="height:100px;border:1px solid green;"></div>
<input type='button' onclick="hideB();close();" value="hide" />
<input type='button' onclick="showB();" value="show" />
<input id="btnOpen" type='button' onclick='window.open("x.html","abc","status=no");' value='open' />
</div>
</div>
</form>
</body>
</html>
主要疑惑的点就是:
alert(b.innerHTML);
alert(btnOpen.innerHTML);//报错,说btnOpen未定义,为什么div元素可以,而button元素不可以?
请大侠们告诉我一下,谢谢了!
怎么能那样写啊,document.getElementById('btnOpen').innerHTML 或者 $('#btnOpen').html()
那么为什么div元素可以呢,
都是HTML元素啊,input type='button'的就不可以,<div></div>..就可以..怎么回事?有什么规则吗?
@hexllo: 你没有按照规范来,我不清楚为什么那样,但可以肯定的是你的写法有问题。
document模型的资料多看看
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。button 应该是 .value 才对。
CHROME下,可以。
FIREFOX下,可以。
你使用的是什么浏览器(版本)?
IE8
真的是浏览器的问题,你的FF好好看啊,是按F12出来的FireBug吗?
@hexllo: Firefox developer edition,是按F12出来的。
看一下innerHTML的定义和用法
innerHTML 属性用于设置或返回HTML——当前标签的“起始”和“结束”里面的内容(包括HTML)。
innerText 属性用于设置或返回文本——当前标签的“起始”和“结束”里面的内容只获取文本内容(不包括HTML)
div是有起始和结束的,成对出现的标签;类似于span,p,tr,select等标签都是可以直接用innerHTML获取到值;
input type=button标签是没有结束标签的;类似于<br />,<hr />标签都是空标签,没有结束标签的;