我有以下代码:
var done = function(el) {
var tds = el.parent().parent().find('td');
for (var i in tds) {
tds[i].css('backgroundColor', 'green');
}
};
done($(this));
$(this)
指向td
标记内的元素的位置 - 因此我获取了所有附近的td
标记并更改了背景颜色。
问题是它抛出了tds[i].css
函数未定义的错误。
在明确的javascript中执行此操作,传递this
,效果非常好,如下所示:
var done = function(el) {
var tds = el.parentNode.parentNode.getElementsByTagName('td');
for (var i in tds) {
tds[i].style.backgroundColor = 'green';
}
};
done(this);
怎么了?
答案 0 :(得分:-1)
也许试试这个:
var done = function(el) {
var tds = el.parent().parent().find('td');
$(tds).each(function(){
this.css('backgroundColor', 'green');
});
};
done($(this));