我需要在页面上存储每个元素的dom索引。这些元素可能有也可能没有id或类名来在dom中标识它们。我有一个方法可行,但我想知道是否有更有效的方法来编码这个?
感谢您的帮助......
代码:
$('textarea,input,select,img,a,span,label,embed,object,caption,map,h1,h2,h3,h4,h5,h6,li,ul,th,p,td,div').click(function (event) {
if (event.target.nodeName.toLowerCase() == "textarea") {
var nodeIndex = $("textarea").index(this);
var nodeName = $(this).get(0).nodeName
alert(nodeName + "," + nodeIndex);
}
if (event.target.nodeName.toLowerCase() == "input") {
var nodeIndex = $("input").index(this);
var nodeName = $(this).get(0).nodeName
alert(nodeName + "," + nodeIndex);
}
if (event.target.nodeName.toLowerCase() == "img") {
var nodeIndex = $("img").index(this);
var nodeName = $(this).get(0).nodeName
alert(nodeName + "," + nodeIndex);
}
//and so on...
});
答案 0 :(得分:1)
这是一种可能有用的方法
var noSearch=['script', 'style'];
$('body *').not( noSearch.join()).click(function(){
var nodeName=this.nodeName
var idx=$(nodeName).index(this);
alert( nodeName +' '+idx)
})
编辑:我接受了你可能有更少的标签要排除而不是包括