jQuery find()抛出`css method not found`错误

时间:2015-11-03 10:24:38

标签: javascript jquery html css

我有以下代码:

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);

怎么了?

1 个答案:

答案 0 :(得分:-1)

也许试试这个:

var done = function(el) {
        var tds = el.parent().parent().find('td');

        $(tds).each(function(){
            this.css('backgroundColor', 'green');
        });
    };
done($(this));