Polymer.dom(element).innerHTML无效

时间:2015-06-16 09:45:23

标签: javascript dom polymer polymer-1.0

我在文本表示中有html ......就像这样:

<link rel="import" href="../resources/widget/my-footer.html">
<link rel="import" href="../resources/widget/my-header.html">
<link rel="import" href="../resources/widget/my-booking-confirmation.html">
<my-booking-confirmation> //and some styles and markup'

我正在尝试使用Polymer DOM API,但是

Polymer.dom(root).innerHTML = upperMarkdown 

不工作。当我调用root.innerHTML时,我只从html string获取第一个元素:

<link rel="import" href="../resources/widget/my-footer.html">

这是一个错误吗?我不确定我做错了什么。

2 个答案:

答案 0 :(得分:4)

我正在做那样的事情,在铁ajax调用之后,我得到一个完整的html文件,

if (response != null && response != undefined) { //iron-ajax response
  var documentBody = response.querySelector('body'); //select body of html file
  if (documentBody != null && documentBody != undefined) { //body's validations
      Polymer.dom(this.$.content).innerHTML = documentBody.innerHTML; //add content
  }
}

老实说,我不知道它是如何运作的,但我认为你必须知道如何做到这一点。文件内容(此文件只有一个标签来引用另一个Polymer元素)被添加到我的页面,所以我认为这是有效的。显然,我需要更多的研究才能完全理解它是如何工作的,但我认为这可能会对你有所帮助。抱歉我的英文!

答案 1 :(得分:1)

我这样做似乎有效:

Polymer.dom(elm).node.innerHTML = "<div>something</div>";

令人困惑的部分是“节点”属性存在以及它的用途。我认为这需要更好地记录,问题仍然是元素本身的innerHTML无效,但只有'node'属性才有效。