js/jquery this 坑

重要:js onclick() 函数中,取不到this !!!

错误的写法:

function test(){
$(this).parent().addClass(‘active‘)
}

正确的写法是:函数定义时带参数,调用时传入this

function test(param){
$(param).parent().addClass(‘active‘)
}

<button onclick="test(this)">

原文地址:https://www.cnblogs.com/dannyyao/p/10089930.html

时间: 2024-10-08 06:28:55

js/jquery this 坑的相关文章

Selenium2学习-014-WebUI自动化实战实例-012-Selenium 操作下拉列表实例-div+{js|jquery}

之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日常网页开发中,实现下拉列表的方法.样式.特效有 N 多种,但是无论实现的方法有多少不同,其都会遵循一定的规律,在此我就不再赘述了(有兴趣的小主,可以找有经验的前段请教一下).同时,此类实现的下拉列表在使用 Selenium 进行定位时,往往不尽如人意,定位比较繁琐. 此文仅以 淘宝网账户注册时选择手

标签页(tab)切换的原生js,jquery和bootstrap实现

概述 这是我在学习课程Tab选项卡切换效果时做的总结和练手. 原课程中只有原生js实现,jquery和bootstrap实现是我自己补上的. 本节内容 标签页(tab)切换的原生js实现 标签页(tab)切换的jquery实现 标签页(tab)切换的bootstrap实现 标签页(tab)切换的原生js实现 说明: 代码是我自己写的,与课程中的不一样. 主要利用display:none来把部分内容隐藏而显示其它内容. 遇到了事件的循环绑定,我是利用添加id使其成为钩子来解决的. 代码: <!DO

js jquery插入元素后事件会被注销

  js jquery插入元素后事件会被注销 document.body.innerHTML += <div id="dd">test</div>  //这个会注销事件 $(document.body).append(str);//使用这个 也可以绑定事件. 例子: //快捷键双击 $(".app_shortcut_item").dblclick(function () { var id = $(this).attr("id&quo

一个基于html,css,js,JQuery的登录界面

github地址:https://github.com/BgirlStar/myTest_final 任务需求: 可进行部分改变,但颜色和风格要保持不变. 完成点:1.login按钮的隐藏与弹出 2.弹出框样式(三角,阴影,圆角) 3.输入框图片和默认字符 4.背景按钮渐变 5.js内置用户名密码,点击登录后弹出对话框 完成后图片: 加入jquery插件 实现了弹出框的隐藏与弹出,代码见js/index.js js/jquery.js 内置email和密码 代码见js/need.js 素材包见j

js/jquery中实现图片轮播

一,jquery方法 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片轮播 jq(左右切换)</title> <style type="text/css">   body,div,ul,li,a,

js/jquery 实时监听输入框值变化的完美方案:oninput &amp; onpropertychange

本文转载于 http://blog.163.com/lgh_2002/blog/static/44017526201341511112874/ Jquery绑定事件(bind和live的区别) js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange 2013-05-15 11:01:12|  分类: jquery/javascrip |

前端(js/jquery) 日期和时间戳的转换

一.JavaScript中获取当前时间的时间戳 方法一: var timestamp=Date.parse(new Date()); ====>结果是:1451441086000 注:这种方式精确到秒,毫秒位置上的用0代替了. 方法二: var timestamp=(new Date()).valueOf(); ====>结果是:1451441232779 注:这两种方法获取从 1970年1月1日午夜开始的毫秒数 方法三: javascript 中使用 new Date().getTime()

js&amp;jquery避免报错的方法

CreateTime--2016年12月8日15:28:40Author:Marydonjs&jquery规避报错信息的两种方式 <script type="text/javascript"> $(function() { /*方法一:捕获异常*/ try { $('div[id=TreeContainer]').each(function(){ $(this).width($('#LeftPage').width()); }); } catch (e) {} /*

js+jquery+html实现在三种不通的情况下,点击图片放大的效果

js+jquery+html实现在三种不通的情况下,点击图片放大的效果. 三种情况分别是:图片的父元素宽高固定;  图片的宽高固定;  图片的父元素宽固定,高度不固定 第一种情况:图片的父元素宽高固定: 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>Title</title> 7