首页 新闻 会员 周边 捐助

问一个js的基础问题..

0
悬赏园豆:5 [已解决问题] 解决于 2015-02-06 11:13

代码只有一小段,如下:

哦..博客园插入代码的功能出问题了..我直接贴代码吧..

请复制后存成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元素不可以?

 

请大侠们告诉我一下,谢谢了!

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2015-02-05 11:00
< >
分享
最佳答案
0

怎么能那样写啊,document.getElementById('btnOpen').innerHTML 或者 $('#btnOpen').html()

收获园豆:3
KingMi | 小虾三级 |园豆:1344 | 2015-02-05 11:33

那么为什么div元素可以呢,

都是HTML元素啊,input type='button'的就不可以,<div></div>..就可以..怎么回事?有什么规则吗?

hexllo | 园豆:318 (菜鸟二级) | 2015-02-05 13:57

@hexllo: 你没有按照规范来,我不清楚为什么那样,但可以肯定的是你的写法有问题。

KingMi | 园豆:1344 (小虾三级) | 2015-02-05 14:20
其他回答(4)
0

document模型的资料多看看

问天何必 | 园豆:3311 (老鸟四级) | 2015-02-05 12:29
0

innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。button 应该是 .value 才对。

弃用 | 园豆:185 (初学一级) | 2015-02-05 16:31
0

CHROME下,可以。

FIREFOX下,可以。

 

你使用的是什么浏览器(版本)?

收获园豆:2
Vivian软陶公仔 | 园豆:284 (菜鸟二级) | 2015-02-06 10:32

IE8

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-02-06 11:10

真的是浏览器的问题,你的FF好好看啊,是按F12出来的FireBug吗?

支持(0) 反对(0) hexllo | 园豆:318 (菜鸟二级) | 2015-02-06 11:13

@hexllo: Firefox developer edition,是按F12出来的。

支持(0) 反对(0) Vivian软陶公仔 | 园豆:284 (菜鸟二级) | 2015-02-06 16:19
0

看一下innerHTML的定义和用法

innerHTML 属性用于设置或返回HTML——当前标签的“起始”和“结束”里面的内容(包括HTML)。

innerText 属性用于设置或返回文本——当前标签的“起始”和“结束”里面的内容只获取文本内容(不包括HTML)

div是有起始和结束的,成对出现的标签;类似于span,p,tr,select等标签都是可以直接用innerHTML获取到值;

input type=button标签是没有结束标签的;类似于<br />,<hr />标签都是空标签,没有结束标签的;

renzaijianghu | 园豆:258 (菜鸟二级) | 2015-02-06 11:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册