我希望更改此代码,因为nth-child(3)
无法在IE8上运行。如何在jquery中将此代码和其他部分代码更改为jquery.each
?
var allValues = $('#myTable td:nth-child(3) input').map(function() {
return $(this).val();
}).toArray();
答案 0 :(得分:1)
您可能不需要使用.each()
;您可以使用过滤器执行nth-child
的工作,如下所示:
var allValues = $('#myTable td').filter(function() {
return $(this).closest('tr').children('td').index( this ) === 2;
})
.find('input').map(function() {
return $(this).val();
}).toArray();
请记住jQuery 2.x supports IE > 8.
var inputs = $('#myTable td:nth-child(3) input').filter(function() { return $(this).val() == value; });
将是:
var inputs = $('#myTable td').filter(function() {
return $(this).closest('tr').children('td').index( this ) === 2;
})
.find('input').filter(function() { return $(this).val() == value; });