请教关于javascript 得到页面标签的问题? 在页面上点击一个地方,怎么得到点击这个位置的html标签,要用javascript实现,各位大侠有什么办法吗?请不吝赐教,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <body> <input type="text" ><span>dddddddd</span></body>document.onclick = function(){ var target = event.srcElement || event.target; if(target.nodeName){ alert(target.nodeName.toLowerCase()); } } 非常感谢!这段程序可以得到点击的html标签,如果html 里面有两个<input>能不能点击的时候分出是哪一个?也就是输出input[0],input[1]。或者直接输出这个标签的路径类似这样的:/html/body/input[0]/。加分给你,呵呵。 最好是能输出:/html/body/input[0]/,谢谢! document.onclick = function(event){ var e = window.event||event; var target = e.srcElement || e.target; // var _target = target; var str = ""; while(target.nodeName&&target.nodeName.toLowerCase()!="html"){ str = target.nodeName.toLowerCase() + "/" + str; target = target.parentNode; } str = "/html/" + str; alert(str); (target.nodeName&&_target.id&&alert(_target.id)); }<body> <input type="text" id="input1"><span>dddddddd</span> <input type="text" id="input2"></body> 100分给你了,呵呵,不过我想要的路径是这样的如果点击第一个<input> 就会为:/html/body/input[0]。input[0],input[1]为这一层的节点,他们是有顺序的,我的目的是有/html/body/input[0]准确定位到这个节点. <script>document.onclick = function(event){ var e = window.event||event; var target = e.srcElement || e.target; // var _target = target; var nodeArr = document.getElementsByTagName(target.nodeName.toLowerCase()); if(nodeArr.length>1){ for(var i = 0; i<nodeArr.length; i++){ if(target===nodeArr[i]){ break; } } } var str = ""; while(target.nodeName&&target.nodeName.toLowerCase()!="html"){ str = target.nodeName.toLowerCase() + "/" + str; target = target.parentNode; } str = "/html/" + str.substring(0,str.length-1) + (i>=0?"[" + i + "]":"/"); alert(str); //(target.nodeName&&_target.id&&alert(_target.id)); } </script><input type="text" id="input1"><span>dddddddd</span> <input type="text" id="input2"> 请教个特殊字符转义问题 谁能提供一下php在线订单项目,界面要求用extjs实现的报价 初学,问一个javascript中简单的概念问题 利用jquery写Ajax调用Action问题 关于下拉框函数问题 【求助!!js如何取经过URL重写的文件名】 javascript问题:求一简单正则表达式 本世纪难的javascript?? 怎么样才能使连接失效? 参数传递的问题,大家帮忙啊! 关于页面太多不能打印完全的问题 超级难度,用透明flash罩住流媒体(mms)
<body>
<input type="text" ><span>dddddddd</span>
</body>
document.onclick = function(){
var target = event.srcElement || event.target;
if(target.nodeName){
alert(target.nodeName.toLowerCase());
}
}
非常感谢!
这段程序可以得到点击的html标签,如果html 里面有两个<input>能不能点击的时候分出是哪一个?也就是输出input[0],input[1]。
或者直接输出这个标签的路径类似这样的:/html/body/input[0]/。加分给你,呵呵。
document.onclick = function(event){
var e = window.event||event;
var target = e.srcElement || e.target; //
var _target = target;
var str = "";
while(target.nodeName&&target.nodeName.toLowerCase()!="html"){
str = target.nodeName.toLowerCase() + "/" + str;
target = target.parentNode;
}
str = "/html/" + str;
alert(str);
(target.nodeName&&_target.id&&alert(_target.id));
}<body>
<input type="text" id="input1"><span>dddddddd</span>
<input type="text" id="input2">
</body>
100分给你了,呵呵,不过我想要的路径是这样的如果点击第一个<input> 就会为:/html/body/input[0]。input[0],input[1]为这一层的节点,他们是有顺序的,我的目的是有/html/body/input[0]准确定位到这个节点.
<script>
document.onclick = function(event){
var e = window.event||event;
var target = e.srcElement || e.target; //
var _target = target;
var nodeArr = document.getElementsByTagName(target.nodeName.toLowerCase());
if(nodeArr.length>1){
for(var i = 0; i<nodeArr.length; i++){
if(target===nodeArr[i]){
break;
}
}
}
var str = "";
while(target.nodeName&&target.nodeName.toLowerCase()!="html"){
str = target.nodeName.toLowerCase() + "/" + str;
target = target.parentNode;
}
str = "/html/" + str.substring(0,str.length-1) + (i>=0?"[" + i + "]":"/");
alert(str);
//(target.nodeName&&_target.id&&alert(_target.id));
}
</script>
<input type="text" id="input1"><span>dddddddd</span>
<input type="text" id="input2">