如何通过使用classname而不是id来获取domNode?

时间:2016-09-27 17:02:50

标签: javascript dojo

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

我试过

query(".classname").first()

因为我知道只有一个domNode实现了这个类名

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

1 个答案:

答案 0 :(得分:1)

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

下面是工作代码 -

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/

随意拍摄您的进一步查询。

希望这会对您有所帮助:)