jquery类型错误:" TypeError:colorval未定义,"

时间:2016-05-19 22:17:21

标签: javascript jquery

Here is console screenshort

Plunker Link Here

var color = '';
var xml = '';

function hexc(colorval) {
    var parts = $(colorval).match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    delete(parts[0]);
    for (var i = 1; i <= 3; ++i) {
        parts[i] = parseInt(parts[i]).toString(16);
        if (parts[i].length == 1) parts[i] = '0' + parts[i];
    }
    color = '#' + parts.join('');
}
$("#mcor tr").each(function() {
    // alert("1");
    xml += '<mcor_info>';
    var td_len = $("#mcor tr td").length;
    //  alert("2");
    for (var b = 0; b <= td_len; b++) {
        //  var index = $('th').eq(b).text();
        xml += '<mcor' + b + '>';
        var tx = $("#mcor tr ").find("td").eq(b).css('backgroundColor');
        hexc(tx);
        xml += color;
        xml += '</mcor' + b + '>';
    }
    xml += '</mcor_info>';
});

我收到此错误:Type Error: colorval is undefined。 我找到了其他几个例子,试图解决我的错误,但没有成功:

JQuery Type-error e is undefined issue

Uncaught TypeError: undefined is not a function while using jQuery UI

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

你可以用jsfiddle上传代码吗?我怀疑问题可能在线上&#34; var tx = $(&#34; #mcor tr&#34;)。find(&#34; td&#34;)。eq(b).css (&#39;的backgroundColor&#39;);&#34;

可能没有得到您认为的结果

<强>更新

如果你使用它会发生什么:

var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);

更新#2

您可以查看以下链接中的代码:

https://plnkr.co/edit/g3boR5yHO895fz76EIKg

就像你可以看到我是否直接将rgb传递给它正常工作的函数,这意味着问题是&#34; tx&#34;对象,这意味着您需要将其转换为字符串

hexc(String(tx));