请问下,js怎么获取a标签的属性

obliviousSing 2016-10-20 10:58:45

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<a href="history.html" target="_blank">abc</a>
<a href="home.html" >efg</a>

<script type="text/javascript" src="../script/jquery-2.1.0.js" ></script>
<script>
$('a').click(function(){
var target=$(this).attr('target');
alert(target);
})
</script>
</body>
</html>


请问下,这段代码改成为原生的js,该怎么写。。。。
...全文
4523 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Braska 2016-10-20
  • 打赏
  • 举报
回复
引用 9 楼 Ragin 的回复:
[quote=引用 2 楼 obliviousSing 的回复:]

            var aLink=document.getElementsByTagName('a');
		    for(i=0;i<aLink.length;i++){
		        aLink[i].onclick=show(this);    
		    }
			function show(obj)  { 
		    	obj.style.display='none';
			}
这样this不能传递么。
aLink[i]=show(this); //fun() 加括号表示直接调用 改成aLink[i]= function(){show(this);}[/quote] 写错, 改成 aLink[i].onclick= function(){show(this);}
Braska 2016-10-20
  • 打赏
  • 举报
回复
引用 2 楼 obliviousSing 的回复:

            var aLink=document.getElementsByTagName('a');
		    for(i=0;i<aLink.length;i++){
		        aLink[i].onclick=show(this);    
		    }
			function show(obj)  { 
		    	obj.style.display='none';
			}
这样this不能传递么。
aLink[i]=show(this); //fun() 加括号表示直接调用 改成aLink[i]= function(){show(this);}
当作看不见 2016-10-20
  • 打赏
  • 举报
回复
引用 7 楼 obliviousSing 的回复:
[quote=引用 6 楼 qq_29594393 的回复:]

            var aLink=document.getElementsByTagName('a');
            for(i=0;i<aLink.length;i++){
                aLink[i].onclick=function (){
                	show(this)
                };
            }
            function show(obj)  { 
                obj.style.display='none';
            }
谢了哈[/quote] 去看一下JavaScript高级程序设计 , 闭包实现的原理,理清楚麻麻再也不担心我不会闭包了
obliviousSing 2016-10-20
  • 打赏
  • 举报
回复
引用 6 楼 qq_29594393 的回复:

            var aLink=document.getElementsByTagName('a');
            for(i=0;i<aLink.length;i++){
                aLink[i].onclick=function (){
                	show(this)
                };
            }
            function show(obj)  { 
                obj.style.display='none';
            }
谢了哈
当作看不见 2016-10-20
  • 打赏
  • 举报
回复

            var aLink=document.getElementsByTagName('a');
            for(i=0;i<aLink.length;i++){
                aLink[i].onclick=function (){
                	show(this)
                };
            }
            function show(obj)  { 
                obj.style.display='none';
            }
obliviousSing 2016-10-20
  • 打赏
  • 举报
回复
引用 3 楼 qq_29594393 的回复:
我已经积分早已饥渴难耐

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
 
        <a href="#" target="_blank">abc</a>
        <a href="home.html" >efg</a>
         
        <script>
         var alist= document.getElementsByTagName('a')
         for (var i=0;i<alist.length;i++) {
         	alist[i].onclick=function(){
         		alert(this.getAttribute("target"))
         	}
         }
        </script>
    </body>
</html>
谢了,缺积分欢迎去水区。。。。混几天就好几百了
obliviousSing 2016-10-20
  • 打赏
  • 举报
回复
引用 1 楼 Ragin 的回复:

window.onload = function(){
		var objs = document.getElementsByTagName('a');
		for(var i = 0; i < objs.length; i++) {
			(function(i){
				objs[i].onclick = function(){
					alert(this.getAttribute('target'));
				}
			})(i)
		}
	}
谢了,请问下,楼上的那种方式,this该怎么传递啊
当作看不见 2016-10-20
  • 打赏
  • 举报
回复
我已经积分早已饥渴难耐

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
 
        <a href="#" target="_blank">abc</a>
        <a href="home.html" >efg</a>
         
        <script>
         var alist= document.getElementsByTagName('a')
         for (var i=0;i<alist.length;i++) {
         	alist[i].onclick=function(){
         		alert(this.getAttribute("target"))
         	}
         }
        </script>
    </body>
</html>
obliviousSing 2016-10-20
  • 打赏
  • 举报
回复

            var aLink=document.getElementsByTagName('a');
		    for(i=0;i<aLink.length;i++){
		        aLink[i].onclick=show(this);    
		    }
			function show(obj)  { 
		    	obj.style.display='none';
			}
这样this不能传递么。
Braska 2016-10-20
  • 打赏
  • 举报
回复

window.onload = function(){
		var objs = document.getElementsByTagName('a');
		for(var i = 0; i < objs.length; i++) {
			(function(i){
				objs[i].onclick = function(){
					alert(this.getAttribute('target'));
				}
			})(i)
		}
	}

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧