html - CSS 显示无 - 隐藏

标签 html css html-table coldfusion

这里很迷茫。有类似的代码工作...

无法隐藏 td 或更改为 div 时也不显示... 这不是冷聚变问题,我不认为...

必需的 Javascript

 <script type="text/javascript">
  function showElement(layer){
  var myLayer = document.getElementById(layer);
  if(myLayer.style.display=="none"){
  myLayer.style.display="block";
  myLayer.backgroundPosition="top";
  } else { 
 myLayer.style.display="none";
  }
  }
 </script>

这个冷聚变代码一切正常,在表格中显示也很好...... 当我添加隐藏它的功能时 - 我无法让它显示...... typeid每次都不一样...

 <table cellpadding=2 cellspacing=2 align=center border=1>
<cfoutput query=list group="typeid">
    <cfquery name="gl" datasource="#ds#">
    select * from shindates
    where sdate <= #monthdate# and stime >= #createODBCDateTime(timenow)# and typeid = '#typeid#'
    order by typeid, sdate
    </cfquery>
    <cfquery name="type" datasource="#ds#">
    select * from type
    where typeid = '#typeid#'
    </cfquery>
    <tr>
    <td><img src="../images/edit.png" alt="Edit" width=25 border=0 alt="Show List" onclick="javascript:showElement('#typeid#')"></td>
    <td valign=middle class=verd10>#type.type#</td>
    </tr>
    <tr>
    <td colspan=2 id="#typeid#" style="display: none">

        <cfloop query="gl">
        <table cellpadding=5 cellspacing=5 align=center class=general>
        <tr>
        <td colspan=2>
        #type.type# - #Dateformat(gl.sdate, 'dddd - mmm dd, yyyy')# - #Timeformat(gl.stime, 'HH:mm')#<br>
        </td>
        </tr>
        <tr>
        <cfset csigned = signedup + gsignedup>
        <cfif csigned is not 0>
        <td class=verd9 align=center><b>Unable to Cancel - Users Signed Up</b></td>
        <td class=verd9 align=center>
        <cfform action="adminmanage.cfm?shinid=#gl.shinid#" method="post">
        <input type="submit" value="Manage List" class="legal8">
        <input type="hidden" value="#gl.shinid#" name="shinid">
        </cfform>
        </td>
        <cfelse>
        <td class=verd9 align=center>
        <cfform action="adminlist.cfm?src=del" method="post">
        <input type="submit" value="Cancel" class="legal8">
        <input type="hidden" value="#gl.shinid#" name="shinid">
        </cfform>
        </td>
        <td class=verd9 align=center>
        <cfform action="adminmanage.cfm?shinid=#gl.shinid#" method="post">
        <input type="submit" value="Manage List" class="legal8">
        <input type="hidden" value="#gl.shinid#" name="shinid">
        </cfform>
        </td>
        </cfif>
        </tr>
        </table>

        </cfloop>
</td>
</tr>       
</cfoutput>
</table>

感谢任何帮助...

最佳答案

我测试了您的 JavaScript,它似乎在以下简化示例中运行良好:

<table cellpadding=2 cellspacing=2 align=center border=1>
    <tr>
        <td>
            <img src="http://placehold.it/50x25" border=0 alt="Show List" onclick="showElement('#typeid#')">
        </td>
        <td valign=middle class=verd10>#type.type#</td>
    </tr>
    <tr>
        <td colspan=2 id="#typeid#" style="display: none">The hidden content.</td>
    </tr>
</table>

<script>
    function showElement(layer) {
        var myLayer = document.getElementById(layer);
        if (myLayer.style.display == "none") {
            myLayer.style.display = "table-cell";
            myLayer.backgroundPosition = "top";
        } else {
            myLayer.style.display = "none";
        }
    }
</script>

查看第一个演示:http://jsfiddle.net/audetwebdesign/BPWR8/

我还按原样测试了您的 HTML/ColdFusion 代码段,JavaScript 仍然有效。
请参阅第二个演示:http://jsfiddle.net/audetwebdesign/xK6jv/

您确定您的 JavaScript 在页面中吗?

要点:您可能希望将显示设置为 table-cell 而不是 block

关于html - CSS 显示无 - 隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18420613/

相关文章:

css - 我的 SVG 加载不一致

css - 与 Chrome/Firefox 相比,IE 中的表格单元格已移动

html - Iframe 未在水平滚动 Div 中完全加载

html - CSS - 使内容对齐

javascript - WordPress的。添加后html代码消失

javascript - 如果 html 表中的字符串 == 带有 Javascript 的内容则显示按钮

php - 循环显示第一行为标题的MySQL PHP表

html - 延迟 HTML5 :invalid pseudo-class until the first event

html - 具有最大宽度的内联 block 不会有省略号

html - 位置 :fixed is used 时无法创建布局