2012-11-19 56 views

回答

2

Dojo,不直接支持這個。它支持兩種不同的選擇器引擎:acme & lite(請參閱dojo/query的文檔)。 Lite旨在快速高效,但缺乏一些先進(但很少使用的功能)。 Acme是一個全功能的CSS3選擇器。

您還可以加載第三方引擎作爲插件;包括jQuery使用的Sizzle engine。通過使用Sizzle,您可以訪問:在您的查詢中有()選擇器。

這可以,無論是在主道場config或上即時作爲插件:

var dojoConfig = { 
    /* 
     This change the selector engine globally within Dojo. Be careful 
     that this does not adversely affect any loaded modules, which 
     use dojo/query 
    */ 

    "selectorEngine": "sizzle/sizzle" 
}; 

或:

require([ 
    "dojo/query!sizzle/sizzle" 
], function($){ 
    var divs = $("div:has(p)"); 
}); 

由於灒不是道場核心的一部分,您需要下載並安裝到dojo,dojox,dijit旁邊的sizzle目錄中才能使用。 (另見:dojo/query (alternative selectors) & Sizzle engine)。

除非這是必須具備的功能,否則使用本機選擇器可能會更好。但是,Dojo的設計具有最大的靈活性。

相關問題