【问题标题】:What is the css selector for an element with a class and an attribute in sencha touchsencha touch中具有类和属性的元素的css选择器是什么
【发布时间】:2011-02-25 17:40:02
【问题描述】:

我曾经有一个代码检查任何先前的元素与相应的 css 类和属性是......

var previousEl = el.prev('.line[@id]');
where line is a class and id is an attribute

这段代码在 Ext 中工作,但是当我尝试在 sencha-touch 中运行相同的代码时,我得到一个“错误:SYNTAX_ERR:DOM Exception 12”。

我检查了 dom 并验证了之前有一个具有该类和属性 id 的兄弟。

有人可以帮我解释一下为什么这个选择器不再起作用了吗?

提前致谢。

【问题讨论】:

    标签: javascript css extjs css-selectors sencha-touch


    【解决方案1】:

    尝试删除@?他们在某个时间点从 jQuery 中取出它,阅读 Sencha 文档,似乎他们在 Ext JS 中做了同样的事情。

    var previousEl = el.prev('.line[id]');
    

    【讨论】:

    • sencha touch 文档说“@ 和引号的使用是可选的。”,所以它应该可以使用或不使用
    • @at0mzk:啊,我明白了。不过还是值得一试。
    • 不使用 @ 使选择器起作用。我不确定为什么它不适用于@。
    • @Jaime:他们可能不再支持 XPath 选择器了。
    【解决方案2】:

    不像 Ext JS 在 sencha touch 中似乎有自己的选择器代码 DomQuery 似乎依赖于 document.querySelectorAll

    查看 select 方法 http://dev.sencha.com/deploy/touch/docs/source/DomQuery.html#method-Ext.DomQuery-is

    如果指定的选择器组无效,该方法将抛出“SYNTAX_ERR 异常”。看 https://developer.mozilla.org/En/DOM/Document.querySelectorAll

    可能这就是你得到的例外。尝试使用使该功能快乐的选择器

    【讨论】:

    猜你喜欢
    • 2012-03-14
    • 2023-03-09
    • 2011-11-02
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多