我需要遍历数组并将其值添加为表格行,其中表格单元格具有“colspan = 10”。
这是我的HTML:
<tbody>
<tr>
<td><a href="#"><img src=""></a></td>
<td width="100%" align="left" colspan="10"><a href="#">Anchor</a></td>
</tr>
<tr>
<td colspan="1" class="text"><img></td>
<td valign="top" nowrap="" align="right"><a href="#"><img src=""></a></td>
<td width="100%" align="left" colspan="9" class="smalltext"><a href="#" class="dottedlink">Anchor</a></td>
</tr>
<tr>
<td colspan="1" class="text"><img></td>
<td valign="top" nowrap="" align="right"><a href="#"><img src=""></a></td>
<td width="100%" align="left" colspan="9" class="smalltext"><a href="#" class="dottedlink">Anchor</a></td>
</tr>
<tr>
<td><a href="#"><img src=""></a></td>
<td width="100%" align="left" colspan="10"><a href="#">Anchor</a></td>
</tr>
</tbody>
请帮忙!我在jquery中是全新的
PS我可以添加相同的类,但不能添加数组
答案 0 :(得分:1)
这应该是你要求的
var classes = ['one', 'two', 'three', 'whatever']; // <-- your class array
var $cells = $('td[colspan=10]'); // <-- selects table cells with colspan=10
$cells.each(function(index, element){ // <-- executes this function for each cell in the $cells list
var row = $(element).parent('tr'); // navigate to parent element <tr>
row.addClass( classes.shift() ); // <-- shift() removes and returns first element in the list
// ^-- addClass adds the string as a class without removing previous classes
});
当然这是出于教育目的。在现实生活中,您会更简洁地编写相同的代码:
var classes = ['one', 'two', 'three', 'whatever'];
$('td[colspan=10]').each(function(index, element){
$(element).parent('tr').addClass(classes.shift());
});
答案 1 :(得分:1)
所以你有一个像这样的数组:
var array = [];
array.push('classA');
array.push('classB');
现在,您希望将两个类添加到<td>
并使用colspan = 10。
你可以这样做:(编辑 - 我添加了评论中建议的内容)
$('td[colspan=10]').each(function(){
$(this).addClass(array.join(' '))
}
答案 2 :(得分:0)
我不清楚你想要实现的目标,但是你可以使用查询td
获得colspan等于10的$("td[colspan=10]")
元素数组,然后你可以为每个元素添加类它们最终看起来像:$("td[colspan=10]").addClass("myclass")
。如果您更进一步,可以将这些课程添加到td
但不添加到父tr
元素:
$("td[colspan=10]").each(index, el) {
el.parents("tr").addClass("myclass");
}
请告诉我这是否是你想要的......