有更好的方法在Dojo中获得dom索引吗?

时间:2015-04-26 19:44:05

标签: dojo indexof

我习惯使用jquery .index()并需要一些帮助来了解如何使用Dojo Nodelist。我的代码:

<ul id="indexof1">
<li><a id="1">domain_1.net</a></li>
<li><a id="2">domain_2.com</a></li>
<li><a id="3">domain_3.org</a></li>
<li><a id="4">domain_4.net</a></li>
</ul>

require(["dojo/query", "dojo/on", "dojo/NodeList-traverse"], function(query, on){
query("ul a").on("click", function(){ 
    console.log(query(this).parent().parent()[0]); // Returns UL
    console.log(query(this)[0]); // Returns the node has been clicked A
    alert(query('a', query(this).parent().parent()[0]).indexOf(query(this)[0]));
});
});

https://jsfiddle.net/wwghes79/4/

1 个答案:

答案 0 :(得分:0)

这可以帮助您满足您的要求:

 require(["dojo/query", "dojo/on", "dojo/NodeList-traverse"], function(query, on){
        query("ul a").on("click", function(e){ 
         console.log(query("#indexof1 li a").indexOf(this)); //returns index
        });
    });