getElementById的缩略
谁都知道document.getElementById这个方法写起来比较麻烦,所以有时候我们会使用jq或者自己写一个小函数去封装,但是我这次说的缩略不同于往常的函数封装
在以前,我做过很多这样的尝试,
<script>
var $=document.getElementById;
$("qiang");
</script>
但是浏览器给我们报错了
Uncaught TypeError: Illegal invocation 未捕获的类型错误:非法调用
一直以来,我以为我的代码触碰到了浏览器的底线,所以它直接给了来了个非法调用,也因此我没去寻找过原因,直到今天终于知道了答案
首先,这里改变了函数的this引用,正常的用法document.getElementById("qiang")中,getElementById方法的this指向调用它的对象,也就是document,但是当
var $=document.getElementById;
此时,当再度调用$方法,这时候的this值指向了我们的window对象,而document.getElementById方法在浏览器的内部实现中,使用了this,并且this必须正确的指向document,所以这就是为什么我们上面的写法会报错
知道了原因之后,我们也就可以对症下药,找到方法来进行改正了。很明显,既然我们不小心改变了this的指向,那把它再改回来就可以了
var $=document.getElementById.bind(document);
$("qiang");
getElementById的缩略的更多相关文章
- 利用FFmpeg生成视频的缩略视频 v8.3
目前生成视频缩略图的工具大多数是生成静态的图片,为了解决这样的局限性,这 次春节期间搞了个利用 FFMpeg 能生成缩略动态视频的批处理. 把 Make_NxM_videos.bat LED_font ...
- SDUST作业10 Problem J: 提取缩略词
Description 在英文文献中,尤其是专业文献中,经常有很多的缩略词,如CPU代表Central Processing Unit等.为了方便学习,Qili决定从一批英文论文中提取出所有的缩略词以 ...
- jquery插件--多行文本缩略
1.webkit内核多行缩略样式 text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orie ...
- Android图片与缩略
/** * 将图片文件原比例缩略.并使其不超过最大宽.高 * @param path : 图片文件 * @param requestW : 缩略后最大宽度 * @param requestH : 缩略 ...
- 2016/05/05 smarty ① 登录 ②主页面 ③删除 ④让缩略信息显示完整 (补:增加 修改 )
共 八个页面 ①login.php <?php include("init.inc.php"); $smarty->display("login.html& ...
- JavaScript编程艺术-第8章-8.6.1-显示“缩略词语表”
8.6.1-显示“缩略词语表” ***代码亲测可用*** HTML: JS: ***end***
- VUE Node模式下,如何改变菜单的颜色,如何将超长文字缩略显示,在鼠标进入后展开全部显示,鼠标移出则恢复缩略显示
VUE Node模式下,如何改变菜单的颜色,如何将超长文字缩略显示,在鼠标进入后展开全部显示,鼠标移出则恢复缩略显示: “事件”引起变量值的变化,系统引擎自动根据变量值的变化刷新页面 在VUE Nod ...
- 在IT产品白皮书中遇到的缩略词
在IT产品白皮书中遇到的缩略词 更新中...
- css之单行缩略..以及多行缩略
html单行缩略方法 .oneline { white-space: nowrap; //强制文本在一行内输出 overflow: hidden; //隐藏溢出部分 text-overflow: el ...
随机推荐
- UIScrollView的几个要点总结
从你的手指touch屏幕开始,scrollView开始一个timer,如果: 1. 150ms内如果你的手指没有任何动作,消息就会传给subView. 2. 150ms内手指有明显的滑动(一个sw ...
- Light OJ 1104 Birthday Pardo(生日悖论)
ime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Description Sometime ...
- wget 无法下载jdk的处理办法
完整语句:wget --no-cookie --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle. ...
- Python网络编程——主机字节序和网络字节序之间的相互转换
If you ever need to write a low-level network application, it may be necessary to handle the low-lev ...
- strut2服务器与android交互数据
libs如图: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...
- hdu1698 Just a Hook 线段树:成段替换,总区间求和
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 Problem ...
- 关于FTP操作的功能类
自己在用的FTP类,实现了检查FTP链接以及返回FTP没有反应的情况. public delegate void ShowError(string content, string title); // ...
- (void)(&x==&y)
#define max(x,y) ({ \ typeof(x) _x = (x); \ typeof(y) _y = (y); \ (void) (&_x == &_y); ...
- cacti气象图调整(批量位置调整、更改生成图大小等)
cacti气象图能够非常直观的看到各个节点的流量.这里用的是CactiEZ中文版 V10 1.调整气象图大小 默认有一个1024像素的背景图可选, 这里我们须要新增一个1600像素的背景图. 背景图自 ...
- 【Hibernate】双向多对多Set查询
一个计划对于多个竞价,一个竞价对应多个计划. 1.实体 /** * @author Tidy * @Description 计划 */ public class EbgStockPlanContent ...