2014-02-28 51 views
0

我顯示一個圖表,但我必須在JavaScript代碼中指定我的第th列(範圍=行)。scope =行在JavaScript代碼中未被識別(jquery.visualize插件)

在這種方式中使用的圖表,HTML代碼(例如,使用的):

<html> 
<head> 
    <script language="javascript" type="text/javascript" src="jquery-1.10.2.min.js"></script> 
    <script language="javascript" type="text/javascript" src="jquery.visualize.plugin.js"></script> 
    <link type="text/css" rel="stylesheet" href="base.css"/> 
    <link type="text/css" rel="stylesheet" href="jquery.visualize.plugin.css"/> 

    <script type="text/javascript"> 
     $(function(){ 
      $('table').visualize({type: 'line'}).appendTo('body'); 
     }); 
    </script> 
</head> 
<body> 
    <table> 
     <caption>2009 Employee Sales by Department</caption> 
     <thead> 
      <tr> 
       <td></td> 
       <th scope="col">2010</th> 
       <th scope="col">2011</th> 
       <th scope="col">2012</th> 
       <th scope="col">2013</th> 
       <th scope="col">2014</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <th scope="row">Gastro</th> 
       <td>10</td> 
       <td>20</td> 
       <td>30</td> 
       <td>40</td> 
       <td>50</td> 
      </tr> 
      <tr> 
       <th scope="row">Pneumo</th> 
       <td>20</td> 
       <td>30</td> 
       <td>20</td> 
       <td>40</td> 
       <td>40</td> 
      </tr> 
      <tr> 
       <th scope="row">Procto</th> 
       <td>80</td> 
       <td>90</td> 
       <td>60</td> 
       <td>100</td> 
       <td>90</td> 
      </tr> 
     </tbody> 
    </table> 
</body> 
</html> 

可以看到,在TBODY,對於標記,我們使用範圍= 「行」

我使用datattable來填充表,我想知道如何在JavaScript代碼中指定它。

我的javascript代碼:

function fillDataTable(data) { 

if ($("#table_campaigns").css("visibility") == "hidden") 
    $("#table_campaigns").css("visibility", "visible"); 

$('#table_campaigns').dataTable({ 

    'aaData': data, 
    'aoColumns': [ 
     { "sTitle": "", "sCellType": "th", "fnCreatedCell": function (cell) { cell.scope = 'row';}}, 
     { "sTitle": "2010" }, 
     { "sTitle": "2011" }, 
     { "sTitle": "2012" }, 
     { "sTitle": "2013" }, 
     { "sTitle": "2014" } 
    ], 

    "iDisplayLength": 10, 
    "bJQueryUI": true, 
    "bDestroy": true, 
    "bPaginate": true, 
    "bLengthChange": false, 
    "bFilter": true, 
    "bSort": false, 
    "bInfo": false, 
    "bAutoWidth": false 
}); 
} 

我測試過$(TBODY>日).attr( '範圍', '行')但不成功。

這裏是我的圖表:

enter image description here

回答

0

這樣的工作對我來說:

$('table tbody th').attr('scope','row'); 

你只想尋找直接兒童時使用>th不是tbody的直接子女。 另外,您需要添加引號。

Live example

+0

我灌我的dataTable後添加和我有一樣的圖表。 我不明白爲什麼它不起作用。 – Jayce

+0

@Jayce您可以在我的示例中看到使用DOM檢查器,我提供的代碼正常工作。那麼你可能還有其他問題。我的代碼按照您的要求在'th'上添加了'scope ='row'''屬性。 – Alvaro

+0

你應該接受這個答案,並提出另一個問題,因爲這個問題已經解決了。 – Alvaro