<html>
<head>
<script type='text/javascript'>
document.onmousedown=function(e){
e = e ? e : event;
alert("id = " + e.srcElement.id + "\nclassName = " + e.srcElement.className
+ "\ninnerHTML = " + e.srcElement.innerHTML
+ "\nname = " + e.srcElement.name);
}
</script>
</head>
<body>
<div id="div1" style="width:300px;height:100px;border:1px solid black;">11111</div>
<div name="divName2" style="width:300px;height:100px;border:1px solid black;">22222</div>
<div id="div3" name="divName3" style="width:300px;height:100px;border:1px solid black;">33333</div>
</body>
</html>
<head>
<script type='text/javascript'>
document.onmousedown=function(e)
{
e = e ? e : event;
var o = e.srcElement ? e.srcElement : e.target;//兼容FF处理
alert("id = " + o.id + "\nclassName = " + o.className
+ "\ninnerHTML = " + o.innerHTML
+ "\nname = " + o.name);
}
</script>
</head>
<body>
<div id="div1" style="width:300px;height:100px;border:1px solid black;">11111</div>
<div name="divName2" style="width:300px;height:100px;border:1px solid black;">22222</div>
<div id="div3" name="divName3" style="width:300px;height:100px;border:1px solid black;">33333</div>
</body>
</html>
第一次发现,javascript 居然还可以加 try{} catch(e){}<html>
<head>
<script type='text/javascript'>
document.onmousedown=function(e){
e = e ? e : event;
var currentElement = e.srcElement || e.target;
allPrpos(currentElement);
}function allPrpos(obj) {
// 用来保存所有的属性名称和值
var props = "";
try{
// 开始遍历
for(var p in obj){
// 方法
if(typeof(obj[p])=="function"){
obj[p]();
}else{
// p 为属性名称,obj[p]为对应属性的值
props += p + "=" + obj[p] + "\t";
}
}
}catch(e){}
// 最后显示所有的属性
alert(props);
}
</script>
</head>
<body>
<div id="div1" style="width:300px;height:100px;border:1px solid black;">11111</div>
<div name="divName2" style="width:300px;height:100px;border:1px solid black;">22222</div>
<div id="div3" name="divName3" style="width:300px;height:100px;border:1px solid black;">33333</div>
</body>
</html>
如果在循环外面加, FF 下的属性显示不全应该是
for(var p in obj){
try{
// 方法
if(typeof(obj[p])=="function"){
obj[p]();
}else{
// p 为属性名称,obj[p]为对应属性的值
props += p + "=" + obj[p] + "\t";
}
}catch(e){}
}并且把最外面 try catch 那个去掉
捕捉错误的时候经常用到
网上找的 function allPrpos(obj) 里有 try catch
而我接触过的其他代码中,从来没出现过
所以只能说 JS 博大精深啊