jquery - 更改谷歌可视化表格图表的类名

标签 jquery css charts twitter-bootstrap-3 google-visualization

Here是一个示例 Google 可视化表格图表,绘制为,

  table = new google.visualization.ChartWrapper({
        'chartType': 'Table',
        'dataTable': data,
        'containerId': 'table',
        'options': {
            'width': '100%',
            'showRowNumber' : true
        },
    });
    table.draw();

上面的 Google 可视化表格图表有一个默认的类名 google-visualization-table-tablethis link解释了如何定制它的个人风格。但是如何使用 jquery 将表的类名本身更改为 Twitter Bootstrap 样式?这样,我就可以使用该类名自定义整个表格样式。我试过类似的东西

$(document).ready(function(){
  $(".google-visualization-table-table").attr('class', 'table');
  $("table").addClass( 'table-bordered table-condensed table-striped' );
});

但它对我不起作用。

最佳答案

我更新了您提供的 fiddle - 请参阅 http://jsfiddle.net/8Z75X/2/用于工作演示

基本上,table.draw(); 是在后台发生的,所以 jquery 脚本会运行并且没有要更改其类的元素。

相反,我添加了一个 ready 监听器,然后运行 ​​jQuery 脚本,而不是在 document.ready block 中。

google.visualization.events.addListener(table, 'ready', function(){
    $(".google-visualization-table-table").attr('class', 'table');
    $("table").addClass( 'table-bordered table-condensed table-striped' );
    });

PS - 你可能想试试 removeClass,并链接你的方法调用 - 可能会更快一些

$(".google-visualization-table-table")
    .removeClass('google-visualization-table-table')
    .addClass('table table-bordered table-condensed table-striped');

应该也能正常工作,但只会影响这个表,不会影响页面中的其他表

更新

这是一个新版本,它也删除了表的所有子类。遍历所有节点并检查每个类以查看它是否以“google-visualization”开头的效率不是很高,但如果没有要删除的所有类的完整列表并调用 $( ) 无论如何在每个元素上。 http://jsfiddle.net/8Z75X/5/

它还有一个额外的 jQuery 调用来重置 google 设置的固定宽度

.css("width", "");

只是提一下……要将 Google 的插件重置回原生 html/js 似乎需要做很多工作——您是否正在寻找特定的功能?有很多用于表格排序或过滤的轻型插件,或者只是纯 js/jquery 来向表格添加行......

关于jquery - 更改谷歌可视化表格图表的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22217975/

相关文章:

jquery - 在使用 jquery ui 的可调整大小时,除非需要,否则如何 overflow hidden 滚动条?

ruby-on-rails-3 - CSS3 Rails 和 Heroku

javascript - 如何将对数刻度应用于 Google Materials 条形图的轴

asp.net - jQuery 自动完成和 ASP.NET

javascript - 为什么 JS 不滚动到顶部?

javascript - 如何调整 Bootstrap Accordion 的高度

html - 无法在主要内容下定位页脚

javascript - CSS 显示属性已设置但在代码运行时不可见

javascript - 想要在同一页面上使用不同数据的多个图表

java - 将 JavaFX 中的折线图和散点图组合成多个系列