如何使用飞镖更改 css 样式表?

How can I change css stylesheet with dart?

我正在做一个考试项目,我需要更改页面中样式表的名称。我怎样才能用 Dart 做到这一点? 我已经看到我可以从 Dart 编辑我的 css 的每个属性,但我已经制作了我想在我的页面中使用的其他 css。 例如,我的 html 页面中有这个:

<link href="stile.css" rel="stylesheet" type="text/css">

我需要编辑页面才能做到这一点

<link href="stile-blu.css" rel="stylesheet" type="text/css">

我该怎么做?

假设您的 <link ...> 元素在 <head> 元素中

document.querySelector('#button').onClick.listen((_) {
  var stile = document.head.querySelector('link[href="stile.css"]');
  stile.attributes['href'] = 'stile-blu.css';
});

如果您向 link 元素添加 id 属性,则可以简化选择器

<link id="mystyle" href="stile.css" rel="stylesheet" type="text/css"> 
document.querySelector('#button').onClick.listen((_) {
  var stile = document.head.querySelector('#mystyle');
  stile.attributes['href'] = 'stile-blu.css';
});