var brands = document.getElementsByName("brand");
for(var brand in brands){
$("input[name='brand']").eq(brand).click(function(){
alert("hello22");
loadDataFN(1);
});
}
此代码不在 ie6 中执行, 任何帮助将不胜感激。
最佳答案
问题可能是您正在尝试使用 for-in 构造来迭代数值数组。这通常不会产生预期的结果。请改用增量 for 循环:
var brands = document.getElementsByName("brand");
// Use an incremental for loop to iterate an array
for(var i=0; i<brands.length; i++){
$("input[name='brand']").eq(brands[i]).click(function(){
alert("hello22");
loadDataFN(1);
});
}
但是,
看到代码的第一部分后,循环似乎没有必要。您应该只需要以下内容,因为您要为所有品牌输入分配相同的功能。
// These will return the same list of elements (as long as you don't have non-input elements named brand)
// though the jQuery version will return them as jQuery objects
// rather than plain DOM nodes
var brands = document.getElementsByName("brand");
$("input[name='brand']");
因此,getElementsByName()
和循环不是必需的。
$("input[name='brand']").click(function() {
alert("hello22");
loadDataFN(1);
});
for-in
循环用于迭代对象的属性,而不是数组的元素。
关于javascript - jquery 名称选择器在 ie6 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860334/