为什么JQuery只切换段落和第一个输入字段,而不切换第二个输入字段?

为什么JQuery只切换段落和第一个输入字段,而不切换第二个输入字段?,jquery,Jquery,段落应该是对其旁边输入的描述。实际上,只有段落受切换的影响 我是jQuery新手,所以我可能遗漏了一些明显的东西 $(文档).ready(函数(){ $(“#ausfallcheck”).change(函数(){ $(“#ausfall”).toggle(); $(“p”).toggle(); }); }); Ausfall Beginn: Ausfall Ende: 您在父段落中有另一个孩子标记。该元素最初不隐藏,切换时会影响输入可见性。问题在于您有两个p元素。一个开始是隐藏的,另一

段落应该是对其旁边输入的描述。实际上,只有段落受切换的影响

我是jQuery新手,所以我可能遗漏了一些明显的东西

$(文档).ready(函数(){
$(“#ausfallcheck”).change(函数(){
$(“#ausfall”).toggle();
$(“p”).toggle();
});
});





您在父段落中有另一个孩子
标记。该元素最初不隐藏,切换时会影响输入可见性。

问题在于您有两个
p
元素。一个开始是隐藏的,另一个虽然被其父对象隐藏,但仍然可见。因此,当您
toggle()
这些元素时,外部元素可见,内部元素不可见

要解决此问题,请为两个
p
元素提供复选框的布尔
checked
属性,以便它们的状态对齐:

$(文档).ready(函数(){
$(“#ausfallcheck”).change(函数(){
$(“#ausfall”).toggle(选中此项);
$(“p”)。切换(选中此项);
});
});



在我提供的问题中无法发现问题


我多次使用相同的ID,结果JQuery脚本只切换第一个输入,而不切换具有相同ID的第二个输入。

代码中没有
\ausfallcheck
元素。你能不能把这个问题修改一下,给我们一个更清楚的例子problem@RoryMcCrossanausfallcheck是复选框。我只想把重要的部分包括进来,以免把人搞糊涂。html代码介于php代码之间。如果复选框是问题的一部分,它将有助于查看复选框在逻辑中的确切位置。我在下面为您添加了一个答案。谢谢您的建议。下次我会尝试将所有内容的格式设置得更好:D..或者在应该切换的段落中添加一个ID,只切换该ID。@jjavokk确实,请参见答案中的最后一段。我最初计划的是Ausfall Beginn

等等。。这只是一个简单的打字错误。非常感谢!很抱歉再次打扰你们,可能不是打字错误。即使我的问题是这样也不行。(使用
)。它现在只显示第一个输入和所有段落,而没有看到实际问题的重现,因此无法告诉您问题是什么。但是,正如您从上面的示例中看到的,如果您有正确的HTML,它应该可以工作。尝试检查控制台是否有错误问题是我误解了id属性,有两个id=ausfall的输入。当我试图操纵#ausfall时,它只切换了第一个输入字段。在我最初的问题中无法发现这一点。