我有几行代码,我使用这个函数,但它似乎只找到IE7中的第一个元素。适用于IE8 / FF / Chrome。
$(document).find("#JobID").attr('checked', $('#CheckAll').is(':checked'));
我也有一条类似的行,只找到第一个元素。
$(document).find("#JobID").each(function() { ... }
有谁知道这是一个已知错误还是一个变通方法?也许我没有使用正确的方法?
答案 0 :(得分:5)
$(document).find("#JobID")
获取文档中标识为JobID
的元素。 ID在文档中是唯一的(参见[1]),因此最多应该有一个匹配的元素。请改为使用班级(例如$('.JobId')
)。
答案 1 :(得分:1)
您应该使用以下代码:
$("#JobID").each(function () { ... });
没有任何理由使用$(document)
。
答案 2 :(得分:1)
你的问题是唯一的ID,没有两个元素应该共享一个ID(这不是有效的HTML),你似乎在那里有一堆id="JobID"
。这应该是class="JobID"
,然后选择器是:
$(".JobID").attr('checked', $('#CheckAll').is(':checked'));
答案 3 :(得分:1)
'#'是文档ID选择器(元素上的id =“”)。每个dom id 都必须是唯一的,所以你有可能不止一次拥有相同的dom id而且IE7正在做一些奇怪的事情。然而,由于它无论如何都是不允许的,因此发生奇怪的事情就不足为奇了。
将您的选择器更改为dom id以外的其他选项,它应该可以正常工作。