紧急紧急,javascript的value大问题?<body>
<input type=button value=寻找 onclick="alert(document.body.childNodes[1].value)">
<button id="kk" value=杀杀杀 onclick="alert(document.getElementById('kk').value)">ssss</button>
</body>
我测试了一下button是有value属性值的,第一:我用document.body.childNodes[1].value弹出,为什么弹出的是ssss,而不是杀杀杀?第二:当我把ssss去掉后,则会弹出button里面的value=杀杀杀,可按钮上的文字没了,为什么会没啊?
值不是写了杀杀杀吗,为什么在按钮上会没有文字,怎么回事?<button value="杀杀杀"></button>有内置value属性值,那么为什么按钮上会没有文字?
而只有写成<button>杀杀杀</button>按钮上才有文字?
如果不去掉ssss的话,并在button里面写了(value=杀杀杀)之后,为什么弹出的还是ssss呢?
button里面有value=杀杀杀,而外面有个ssss,为什么ssss会抢占先机?外面这个ssss是value属性值,值可以显示在按钮上.
可当我把ssss去掉之后,为什么value=杀杀杀,就不会把值'杀杀杀'显示在按钮上呢?而只会弹出属性值'杀杀杀'?
第三:<button id="kk" value=杀杀杀 onclick="alert(document.getElementById('kk').value)">ssss</button>这里的ssss为什么会有双重意思?第一它可以是button的value属性值,第二它可以是button节点的文本子节点nodeValue值.为什么会有双重的意思?

解决方案 »

  1.   

    lz有暴力倾向<input type="button" class="MyButton" value="关闭窗口" onclick="window.close()">
    类似如下构建,内部属性可能不叫这个名,大体是这个意思。
    {
    value:XXXX,
    class:XXXX,
    htmlText:xxx
    }换成你的:
    {
    value:杀杀杀,
    class:XXXX,
    htmlText: ssss 
    }
      

  2.   

    1.列表其实index是0...
    2.value只是button的属性值.在IE5后表单提交的时候会把其提交.否则提交innerText.
    而因为此元素是内嵌元素.是显示内置内容的.所以显示SSSS
    3.属性值见2.文本节点是因为他是内嵌的内容.而且是文本.