以下代码只是我想要应用于我的应用程序的理论的演示,因此使用THIS而不是td.flex不适合函数中的第二行。
另外,由于其他原因,我必须使用.index而不是nth-child。
所有人都说:)
以下函数循环遍历具有flex类的表的第一行中的所有TD。对于每个记录索引值。下一行不是实际应用程序的一部分,但是为了测试该理论,应该找到具有一类flex的所有tds,其具有与cellIndex值匹配的索引值。任何想法如何让这个工作?
请记住,此代码是为了测试理论,因此为什么我不使用nth-child或者这样来应用css着色!
cellIndex = new Array();
$('table tr:first-child td.flex').each(function (i) {
cellIndex[i] = $(this).index();
$($('td.flex').index(cellIndex)).css('background-color', '#ff0000');
});
如果我这样做:console.log($('td.flex').index(cellIndex));
我为每个循环获得-1
只是为了确认我知道我可以这样做:
$(this).css('background-color', '#ff0000');
但是不是我正在尝试使用此功能实现的功能,并且无法在实际应用中使用。
HTML示例:
<table>
<tr>
<td class="flex">Flex</td>
<td>Not Flex</td>
<td class="flex">Flex</td>
<td>Not Flex</td>
<td>Not Flex</td>
</tr>
</table>
答案 0 :(得分:4)
每个功能都已包含一个索引系统。所以你可以像这样使用它(cellIndex已经过时了):http://jsfiddle.net/TMFg3/
cellIndex = new Array();
$('table tr:first-child td.flex').each(function (i) {
cellIndex[i] = i;
$('td.flex:eq('+i+')').css('background-color', '#ff0000');
});
如果你不想使用cellIndex,那么你必须将它循环到每个函数之外,因为你不能将数组发布到索引标识符,而且它会改变每个循环中的相同目标:)< / p>
您还可以使用cellIndex中的索引,如下所示:
cellIndex = new Array();
$('table tr:first-child td.flex').each(function (i) {
cellIndex[i] = i;
$('td.flex:eq('+cellIndex[i]+')').css('background-color', '#ff0000');
});
答案 1 :(得分:0)
如果你只想走列表,你可以这样做:
$('table tr td:first-child td.flex').each(function (i) {
var cellIndex =$('table tr:first-child td').index(this);
$('#hello').text($('#hello').text()+'"'+cellIndex+'",');
$('td').eq(cellIndex).css('background-color', '#ff0000');
});
这里的假设是#hello标识的元素存在 - 然后它将包含“0”,“2”,显示索引,元素将是红色背景。
把它放在一个数组中:
$(document).ready(function(){
var myCellIndexes=[];
$('table tr td').parent().find('.flex').css('background-color','green');
$('table tr:first-child td.flex').each(function (i) {
var cellIndex =$('table tr:first-child td').index(this);
myCellIndexes[i]=cellIndex;
$('#hello').text($('#hello').text()+'"'+cellIndex+'",');
$('td').eq(cellIndex).css('background-color', '#ff0000');
});
$('#hello').text($('#hello').text()+myCellIndexes);
});
结果将是:“0”,“2”,0,2在最后的hello中证明数组现在保存元素的索引。这应该可以让您了解您希望完成实际工作的内容:)