javascript - 关于for循环中进行a标签的点击事件

查看:1000
本文介绍了javascript - 关于for循环中进行a标签的点击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

代码如下: for循环中有两个可以下载文件的a标签,现在只能下载最后一个a标签的文件......

for(var v = 0; v < $("div#downFile a").length; v++){
    $("div#downFile a")[v].click();
}

解决方案

你还能下载一个也是够给力的。

  • 你看你的代码,你是已经处在使用jquery对象的函数里面,有没有想过,你执行for的时候,你拿到的都是什么。

  • $("div#downFile a")是一个有两个元素的数组,一旦进到for循环里面$("div#downFile a")[v]这个已经是DOM对象了,不是jquery对象了。

  • $($("div#downFile a")[v])这个才是能够用.click()操作的jquery对象

  • jquery封装的东西和原生的DOM或者JS都是有区别的,这也是他敢说Write less, do more的魅力啦。

console.log($("div#downFile a")); // 数组
for(var v = 0; v < $("div#downFile a").length; v++){
    console.log('-----------------');
    
    console.log($("div#downFile a")[v]); // DOM对象
    console.log($($("div#downFile a")[v])); // jquery对象
    
    $("div#downFile a")[v].click(function(){
        console.log($(this)); // 不反应
    });
    
    $($("div#downFile a")[v]).click(function(){
        console.log($(this)); // 输出当前点击对象
    });
}

这篇关于javascript - 关于for循环中进行a标签的点击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆