【问题标题】:querySelector does not find Script ElementquerySelector 找不到脚本元素
【发布时间】:2014-04-11 10:14:03
【问题描述】:

我有一个如下所示的 HTML 元素:

<!--<div id="waves"></div>-->
<script type="WaveDrom" id="waves">
{signal: [
['input' , 
{name: 'a', wave: '01010101'},
{name: 'b', wave: '0.1.0.1.'},
{name: 'c', wave: '0...1...'}],
['output',
{name: 'expected d', wave: '01.010.1'},
{name: 'simulated d', wave: '01.010.1'},
{name: 'expected e', wave: '0..101..'},
{name: 'simulated e', wave: '0..101..'}]
]}
</script>

在 Dart 中,我现在想用 id 'waves' 交换 ScriptElement 的内容。但是querySelector('#waves') 不返回 ScriptElement(它返回 null)。如果我添加 DivElement,它会发现这很好。

ScriptElements 有什么特别之处不能像这样被查询吗?或者这是 Dart 中的一个错误?

【问题讨论】:

  • 能否请您添加一些代码。你直接在'main'中运行代码吗?你的脚本标签是在 had 还是 body 中?
  • 脚本在正文中。
  • 脚本标签在正文中时也可以使用。
  • 我复制了你的脚本标签,它也能正常工作。我可以打印x.innerHtml 来获取脚本内容。
  • 我明白了。您可以使用其他属性。 &lt;script ... myid='waves'...&gt;querySelector('script[myid=waves]')

标签: dart dart-html


【解决方案1】:

我有这个在main.dart

void main() {
  var x = document.querySelector('script');
  print(x.attributes['src']);
}

这个在 HTML 文件中

<!DOCTYPE html>

<html>
  <head>
    <script src="packages/web_components/platform.js"></script>
    <meta charset="utf-8">
  </head>
  <body>

    <div class='target' id='target1'>ANIMATION 1</div>
    <div class='target' id='target2'>ANIMATION 2</div>

    <script type="application/dart" src="index.dart"></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>

当我运行它时它会打印出来

packages/web_components/platform.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2021-03-18
    • 1970-01-01
    • 2012-05-22
    • 2019-12-24
    • 2014-10-18
    • 1970-01-01
    相关资源
    最近更新 更多