有没有更好的方法在 Dojo 中获取 dom 索引?
Is there a better way to get dom index in Dojo?
我曾经使用 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]));
});
});
这应该可以帮助您满足您的要求:
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
});
});
我曾经使用 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]));
});
});
这应该可以帮助您满足您的要求:
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
});
});