题目就是点击网页上的元素,获取它的CSS选择器
半个小时......一首凉凉送给自己:-)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="page">
<div class="content main">
<div class="refer">
<ul>
<li></li>
<li></li>
...
</ul>
</div>
</div>
</div>
<script>
var genCssSelector = function(e){
var str="";
var tar=e;
str=tar.nodeName.toLowerCase()+" "+tar.className;
tar=tar.parentNode;
while(tar.nodeName.toLowerCase()!="html"){
if(tar.id!==""){
str="#"+tar.id+" "+str;
tar=tar.parentNode;
continue;
}
if(tar.className!==""){
var names=tar.className.split(" ");
var temp="";
for(i=0;i<names.length;i++){
temp=temp+"."+names[i];
}
str=temp+" "+str;
tar=tar.parentNode;
continue;
}
str=tar.nodeName.toLowerCase()+" "+str;
tar=tar.parentNode;
}
str=tar.nodeName.toLowerCase()+" "+str;
return str;
}
document.addEventListener('click', function(e){
//点击li时,返回:html body #page .content.main .refer ul li
console.log(genCssSelector(e.target));
});
</script>
</body>
</html>