我使用jQuery创建了一个工具,它将显示某些表行,具体取决于是否选中了某些复选框。我试图让文字显示“例如需要3个海报”。我正在使用下面的代码。在IE7中,它被破坏而不是显示< tr class =“hidden”> 可见,它只显示< tr class =“hidden”>。这段代码有什么问题吗?
$(".hidden").hide();
function countChecked() {
var n = $("tr.hidden:visible").length;
$("#numberrequired").text(n + (n <= 1 ? " Poster" : " Posters") + (n <= 1 ? "is" : " are") + " required:");
//Error message if no checkboxes are selected
if ($('input:checkbox:checked').length < 1) {
$("#numberrequired").html("<span class='required_msg'>Please select at least one checkbox.</span>");
$('#results0').hide();
//boxes[0].focus();
return false;
}
}
<h2 id="numberrequired"></h2>
以下是几行的示例:
<tr id="results1" class="hidden">
<td>Text 1</td>
<td>Text 2</td>
<td>Text 3</td>
</tr>
<tr id="results2" class="hidden">
<td>Text 1</td>
<td>Text 2</td>
<td>Text 3</td>
</tr>
<tr id="results3" class="hidden">
<td>Text 1</td>
<td>Text 2</td>
<td>Text 3</td>
</tr>
答案 0 :(得分:2)
这似乎是一个已经修复了大约2年的旧bug。您可以升级您的jquery版本或将您的选择器更改为:
:not(:hidden)
这是我发现人们声称可行的解决方法。
(未经测试,因为我没有IE7)