Javascript 显示:无似乎不能处理所有html元素

Javascript 显示:无似乎不能处理所有html元素,javascript,php,html,css,Javascript,Php,Html,Css,我试图通过将表单的这一部分放在div和id=loan中,使其消失 为了排除故障,我将TESTTEXT1放在div元素之后,它做了我想做的事情(当用户单击单选按钮时消失),但是test2及更高版本似乎不受用户操作的影响。有人知道为什么会这样吗 HTML: 函数checkA(){ document.getElementById('loan').style.display='none'; document.getElementById('assigned').style.display='bloc

我试图通过将表单的这一部分放在
div
id
=loan中,使其消失

为了排除故障,我将
TESTTEXT1
放在div元素之后,它做了我想做的事情(当用户单击单选按钮时消失),但是
test2
及更高版本似乎不受用户操作的影响。有人知道为什么会这样吗

HTML:


函数checkA(){
document.getElementById('loan').style.display='none';
document.getElementById('assigned').style.display='block';
}
函数checkL(){
document.getElementById('assigned').style.display='none';
document.getElementById('loan').style.display='block';
}
分派
借出
测试文本1
借款日期
试验
返回日期

正如@DanielBeck指出的,没有表包装器,因此我会尝试将
更改为

当然,您必须将结束标记从
更改为
,这将稍微改变您的javascript:

function checkA() {
  document.getElementById('loan').style.display = 'none';
  document.getElementById('assigned').style.display = 'table';
}

function checkL() {
  document.getElementById('assigned').style.display = 'none';
  document.getElementById('loan').style.display = 'table';
}

请注意,不能在表包装器中使用div元素。如果希望使用div元素仅向表的一部分添加CSS。最好在表头/行/数据中添加一个ID,或者只为表的特定部分创建一个新表。

您能用html/css/js制作一个工作演示吗?我们不需要PHP。将该文本节点作为
的直接子节点放入会导致无效标记。只有
元素应该是
的直接子元素。你的css规则有吗!重要吗?在id/类规则为的元素上使用内联css!重要信息不会覆盖it@Pointy有。TESTTEXT2将被碰撞到表外,因为它位于无效位置。表格文本需要位于
中。(我刚刚注意到,也没有
标记;我不确定浏览器会如何处理,但可能不太好)
不应该是
的孩子,
唯一允许的父母是
。如果可以,请在创建JSFIDLE之前,在编辑器中创建一个包含
的页面图标的堆栈代码段。很抱歉,HTML位于表包装器之下,但位于代码之上,因此我没有包含它。我将代码编辑为精简版本,以便更容易理解。我希望如果理解正确,就不能将div元素放在table元素下面。这意味着要使这项工作,我必须将内容分为两个表