2015-04-14 16 views
9

Gölge DOM içindeki düğümleri nasıl seçebilirim? Aşağıdaki örneği ele alalım: "unshadowed" DOM ​​Dart içindeki öğeler DOM'den dışarıdan nasıl sorgulanır?

<app-element> 
    #shadow-root 
    <h2></h2> 
    <content> 
     #outside shadow 
     <h2></h2> 
    </content> 
    <ui-button> 
     #shadow-root 
     <h2></h2> 
    </ui-button> 
</app-element> 

index.html

<body> 
<app-element> 
    <!-- OK: querySelect('app-element').querySelect('h2') --> 
    <!-- OK: querySelect('app-element h2') --> 
    <!-- There is no problem to select it --> 
    <h2>app-element > content > h2</h2> 
</app-element> 
</body> 

templates.html arasında

yapı

<polymer-element name="ui-button" noscript> 
    <template> 
    <!-- FAIL: querySelect('app-element::shadow ui-button::shadow h2') --> 
    <h2>app-element > ui-button > h2</h2> 
    </template> 
</polymer-element> 

<polymer-element name="app-element" noscript> 
    <template> 
    <!-- FAIL: querySelect('app-element::shadow').querySelect('h2') --> 
    <!-- FAIL: querySelect('app-element::shadow h2') --> 
    <!-- FAIL: querySelect('app-element').shadowRoot.querySelect('h2') --> 
    <h2>app-element > h2</h2> 
    <content></content> 
    <ui-button></ui-button> 
    </template> 
</polymer-element> 

"OK: querySelect()" gibi yorumlarda Ben gölgeli DOM dışında çalışmayı denedim seçiciler gösteriyorum.

Şu makaleyi zaten okudum: http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/?redirect_from_locale=ru ve makalede söylendiği gerçeğine dayanarak, sorgu gibi: document.querySelector('app-element::shadow h2'); JS'de beklendiği gibi çalışmalıdır. Ancak, Dart çalışmıyor.

Neyi hatalıyım? (Yorumlardan)

cevap

İlgili konular