如何在polymer.dart组件中使用jquery访问shadow dow

时间:2014-01-19 14:39:33

标签: jquery dart dart-polymer

在我的polymer.dart组件中,我想用jquery访问shadow dom。 在飞镖中我可以访问f.e.一个节点的id如下:

$["testname"].attributes["id"]

shadowRoot.querySelector("#testname").attributes["id"]

如何使用jquery完成

context.callMethod(r'$', ['#testname'])["id"]

显然不起作用。

2 个答案:

答案 0 :(得分:2)

如果要使用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桌面上进行此工作。我相信,其他浏览器不支持/ deep / combinator。

答案 1 :(得分:0)

您必须使用webkitShadowRoot

element.webkitShadowRoot.querySelector(...)属性