下面是我的原代码...为什么我的代码在重构功能代码后不工作?
innerTC.find('input[name=tc0]').click(function(){
console.log($(this).siblings('input[name=tc0]'));
$(this).siblings('input[name=tc0]').prop('checked', false);
});
innerTC.find('input[name=tc1]').click(function(){
console.log($(this).siblings('input[name=tc1]'));
$(this).siblings('input[name=tc1]').prop('checked', false);
});
innerTC.find('input[name=tc2]').click(function(){
console.log($(this).siblings('input[name=tc2]'));
$(this).siblings('input[name=tc2]').prop('checked', false);
});
不过,我尝试将它重构像下面的函数代码...
var innerTC = $('#pltc').contents();
for(var i=0; i<3; i++) {
innerTC.find('input[name=tc' + i + ']').click(function(){
$(this).siblings('input[name=tc' + i + ']').prop('checked', false);
});
}
但不工作。
@epascarello我不认为这是一个重复 - 循环索引变量被冻结成字符串。 – Pointy
我认为问题是'var innerTC = $('#pltc')。contents();' – Pointy
这应该是相当直接的解决方法,但是它看起来像是同名的文本框和复选框输入元素。您能否编辑您的问题以包含HTML示例。 –