我想得到一个完全像dom.byId()返回的结果,一个domNode。但是我不能在domNode上使用id。因此,我唯一的选择是按类名而不是ID搜索。

我试过了

query(".classname").first()


因为我知道只有一个实现该类名的domNode

但是我不能在dojo中任何期望domNode的后续函数中使用结果(即NodeList),例如dojo / dom-geometry :: position()

最佳答案

好吧,如果要使用类名访问节点。

以下是工作代码-



require(["dojo/query", "dojo/NodeList-traverse", "dojo/NodeList-dom", "dojo/domReady!"], function(query) {
    query(".className").first().style({
        "backgroundColor": "#FF0"
    });
});

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>

 <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css">

<ul>
    <li class="className">First</li>
    <li class="className">Second</li>
    <li class="className">Third</li>
</ul>





JS小提琴:https://jsfiddle.net/vikash2402/jfwsLnd4/

随时提出您的进一步查询。

希望这对您有帮助:)

关于javascript - 如何通过使用类名而不是id进行搜索来获取domNode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39730480/

10-09 16:51