我需要找到HTML表格中每一行的Last td,然后从该td中删除一个css。我可以在不使用Jquery的情况下完成。 怎么样?
答案 0 :(得分:4)
您可以使用css3 last-child
属性。写得像这样:
tr td:last-child{
color:red;
}
但它在IE8&下方。
答案 1 :(得分:1)
使用CSS
td:last-child: {
//your style here
}
或使用JavaScript遍历DOM:
var mytable = document.getElementById('tableid');
var myrows = mytable.getElementsByTagName("tr");
var lastrow = myrows[myrows.length -1];
var mycells = lastrow.getElementsByTagName("td");
var lastcell = mycells[mycells.length -1];
// set CSS property here
lastcell.style.color = "red";
lastcell
是您的最后一次td
答案 2 :(得分:0)
您是否尝试过使用CSS3选择器? E.g
tr td:last-child
{
YOUR CODE HERE
}
您还可以查看使用类来显示哪个td是最后一个。但当然这不是动态的。
我相信还有一个正常的javascript答案,但我不是很擅长:P
答案 3 :(得分:0)
假设您不是在寻找css类型的解决方案
rows=document.getElementsByTagName('tr')
for (var i=0; i<rows.length; i++){
columns=rows[i].getElementsByTagName('td');
mytd = columns[columns.length-1];
classname = mytd.className;
arr = classname.split(' ');
mytd.className = arr.filter(function(e){return e!=CLASSTOREMOVE}).join(' ');
}
答案 4 :(得分:0)
对于纯JavaScript解决方案:
function removeCssClass(tableId, cssClass) {
var trs = null;
var tr = null;
var tds = null;
var td = null;
var classes = [];
var i = 0;
trs = document.getElementById(tableId).getElementsByTagName('tr');
tds = trs[trs.length - 1].getElementsByTagName('td');
td = tds[tds.length - 1];
classes = td.className.split(' ');
for (i = 0; i < classes.length; i += 1) {
if (classes[i] === cssClass) {
classes.pop(i);
}
}
td.className = classes.join(' ');
return false;
}
工作fiddle。
答案 5 :(得分:0)
你想用最后一个TD做什么?如果你想在每个td之间有一个边框,为什么你不使用border-left然后你可以使用first-child来删除它。可能有更好的方法与浏览器更兼容。