如何在polymer.dart组件中使用jquery访问shadow dow
在我的polymer.dart组件中,我想用jquery访问shadow dom。 在dart我可以像这样访问节点的id:
$["testname"].attributes["id"]
要么
shadowRoot.querySelector("#testname").attributes["id"]
这是如何用jquery完成的
context.callMethod(r'$', ['#testname'])["id"]
显然不起作用。
如果要使用jquery从Dart访问shadow DOM,可以执行以下操作:
String selector; JsObject jqueryObject = context.callMethod('\$', ['body /deep/ ${selector}']);
然后你可以像这样调用jquery方法:
jqueryObject.callMethod('click', [myFunc]); void myFunc(var event) => print('it worked');
在属性的情况下,您需要调用jquery的attr()方法。
String attr = jqueryObject.callMethod('attr', ['id']);
更新:到目前为止,我只是设法使用chrome for desktop。 我相信,其他浏览器不支持/ deep / combinator。
你必须使用webkitShadowRoot
属性,如element.webkitShadowRoot.querySelector(...)