在GWT中通过CSS选择器查找元素

前端之家收集整理的这篇文章主要介绍了在GWT中通过CSS选择器查找元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在GWT中使用CSS选择器(例如“#someId .className a”)来抓取任意元素.

我正在构建一个可以在第三方网站上生活的JS小部件,并希望能够与页面上的元素进行交互.通过JavaDocs搜索我没有看到任何可以通过选择器找到元素的东西.我确实遇到了GQuery,但它似乎像项目might be dead,我不知道它是否适用于GWT 2.

我考虑过的一个选项是将现有库(jQuery,Mootools,Prototype等)包装到GWT类中,并通过JSNI展现所需的行为.似乎这可能非常bukyky.

任何人都有使用通用CSS选择器在GWT的经验?

解决方法

DOM类,它提供了许多用于访问DOM树的包装方法.没有什么功能需要我所知道的CSS选择器jQuery样式 – GWT只是鼓励/强制通过Widget(等等)访问DOM元素,而不是直接 – 虽然我明白,在你的情况下,这种“低级”方法可能需要通过纯Java GWT方法,我看到的唯一方法是通过DOM类的很多(可能是可怕的)链接/调用.如果你所要做的只是访问一些id,那将会更容易,因为有 RootPanel.get(id)(和 DOM.getElementById(id),他们返回的对象类型不同).

然而,像你已经建议的那样,JSNI可能会提供一个更好的解决方案 – 尝试从JSNI作为一个元素返回,例如$wnd.$(“#someId .className a”) – 实际上,你可以从JSNI返回任何东西,GWT将只是废除您尝试使用的第二个,将int作为DOM元素或某些东西.

PS:虽然GQuery项目似乎死了/不活动,可能值得检查他们如何包装jQuery调用(如$),以便可以在GWT中使用它们.

猜你在找的CSS相关文章