Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用javascript编辑css_Javascript_Css_Hidden Field - Fatal编程技术网

无法使用javascript编辑css

无法使用javascript编辑css,javascript,css,hidden-field,Javascript,Css,Hidden Field,我正在尝试用这些简单的 测试: <span id="a">30 <span id="aa" style="display:none;"><input type="text" id="aa" name="q"/></span></span> <span id="cq"><a href="javascript:changeQty()">Change</a></span> <span id

我正在尝试用这些简单的

测试:

<span id="a">30 <span id="aa" style="display:none;"><input type="text" id="aa" name="q"/></span></span>
<span id="cq"><a href="javascript:changeQty()">Change</a></span>
<span id="cq2" style="display:none"><a href="javascript:save()">save</a></span>

<script>
  function changeQty(){
    document.getElementById("a").style.display="hidden";
    document.getElementById("aa").style.display="inline";
    document.getElementById("cq").style.display="hidden";
    document.getElementById("cq2").style.display="inline";
  }
</script>
30
函数changeQty(){
document.getElementById(“a”).style.display=“hidden”;
document.getElementById(“aa”).style.display=“inline”;
document.getElementById(“cq”).style.display=“hidden”;
document.getElementById(“cq2”).style.display=“inline”;
}

但奇怪的是,我试图隐藏的领域没有工作。但我可以在单击
Change
链接时查看隐藏字段。我在做什么?

对于
显示
,没有
隐藏
属性,您需要使用

function changeQty(){
  document.getElementById("a").style.display="none";
  document.getElementById("aa").style.display="inline";
  document.getElementById("cq").style.display="none";
  document.getElementById("cq2").style.display="inline";
}

你犯了两个非常简单的错误

  • 在javascript中,对隐藏元素的显示样式属性使用vale“none”

  • 元素“aa”是元素“a”的子元素。因此,当您使用
    document.getElementById(“a”).style.display=“无” 还隐藏元素“aa”

  • 因此,您可能希望的最终解决方案如下

    <span id="a">30</span>
    <span id="aa" style="display:none;"><input type="text" id="aa" name="q"/></span>
    <span id="cq"><a href="javascript:changeQty()">Change</a></span>
    <span id="cq2" style="display:none"><a href="javascript:save()">save</a></span>
    
    <script>
      function changeQty() {
        document.getElementById("a").style.display="none";
        document.getElementById("aa").style.display="inline";
        document.getElementById("cq").style.display="none";
        document.getElementById("cq2").style.display="inline";
       }
    </script>
    
    30
    函数changeQty(){
    document.getElementById(“a”).style.display=“无”;
    document.getElementById(“aa”).style.display=“inline”;
    document.getElementById(“cq”).style.display=“无”;
    document.getElementById(“cq2”).style.display=“inline”;
    }
    
    “hidden”是可见性的有效值,但不是显示。我不会说HTML是问题所在。是的,有更好的命名约定是有帮助的,这样你就不会感到困惑了。根据我对HTML无效这个问题的评论,我收回了这一点。
    aa
    的ID在第二个
    span
    上,然后在其内部
    input
    。您有一个
    span
    ID
    aa
    input
    ID
    aa
    这是无效的。