【发布时间】:2014-02-23 17:04:56
【问题描述】:
我正在尝试为采用此数组的 Chart.js 收集值
data = [{ value:1, color:#123456 }]
HTML:
<table class="card">
<tr class="section1">
<td class="label">One</td>
<td class="goal">1</td>
</tr>
<tr class="section2">
<td class="label">Two</td>
<td class="goal">2</td>
</tr>
<tr class="section3">
<td class="label">Three</td>
<td class="goal">3</td>
</tr>
<tr class="section4">
<td class="label">Four</td>
<td class="goal">4</td>
</tr>
<tr class="section5">
<td class="label">Five</td>
<td class="goal">5</td>
</tr>
<tr class="section6">
<td class="label">Six</td>
<td class="goal">6</td>
</tr>
</table>
CSS:
table.card tr.section1 td.label{
color: #c26558;
}
table.card tr.section2 td.label{
color: #cdaf76;
}
table.card tr.section3 td.label{
color: #6e9874;
}
table.card tr.section4 td.label{
color: #809ead;
}
table.card tr.section5 td.label{
color: #467082;
}
table.card tr.section6 td.label{
color: #ac9578;
}
JAVASCRIPT:
var data = []; //{ value: 30, color:"#F38630" },
var goals = document.getElementsByTagName( $('table.card .goal').html() );
var quantities = jQuery.makeArray( goals );
for( var i=0; i<quantities.length; i++ ){
var labelColor = '#000000';
$('table.card .goal').each(function(){
if( $(this).html() == quantities[i] ){
labelColor = rgb2hex( $(this).closest('tr').find('.label').css('color') );
}
});
data[i] = { 'value':quantities[i], 'color':labelColor };
}
这是我最近一次尝试制作一系列数量的工作。在 makeArray() 之前,我一直在摆弄 jQuery.toArray()。我不知道,也许我的整个方法都关闭了。抓取 css('color') 的块正在工作,我对此很满意,但我很难将 .goal 单元格的值转换为数组。
这里是 Chart.js 文档:http://www.chartjs.org/docs/
【问题讨论】:
-
document.getElementsByTagName( $('table.card .goal').html() );你明白getElementsByTagName()是做什么的吗? -
是的,就像我说的,这是我最近的尝试,我通过添加 html() 来抓住稻草。不过谢谢,那是
-
令人沮丧,伙计。我希望我在一小时前注意到我使用了 TagName 而不是 ClassName,更不用说在我发布到 stackoverflow 之前了。
-
啊,我明白了。您正在尝试构建一个选择器,例如
"section" + $('table.card .goal').html()。是的,这需要一次完成一个。有一些复杂的选择器可用于根据属性的开头进行选择,例如$("tr[class^=section]");可以抓取所有tr元素,其中class属性以"section"开头。 -
查看 jQuery API 的selectors category 了解更多选择器信息。有些是有效的本机选择器,可与本机
querySelector/querySelectorAll方法一起使用。还有一些特定于 jQuery 的选择器引擎。
标签: javascript jquery html css chart.js