通常在页面中要让某些内容点击后产 生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用Javascript函数的方式:<a href=javascript:somefunction(args)>content</a>。注意,这么写是有问题的,问题就在 于somefunction中的参数args的值不能含有空格,否则浏览器会认为空格后面的内容是<a>标签的某个属性,正确的写法应该是用 引号将javascript:somefunction(args)引起来。另外还有一种方法可不必加这对引号,先将可能带空格的参数用escape函数 处理一下,然后在somefunction中用unescape函数解码就行了。值得注意的是用encodeURI、decodeURI加解码却不能成 功。

在网上找了下escape和unescape、encodeURI和decodeURI、encodeURIComponent和decodeURIComponent三对组合之间的区别:

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

简单总结一下用法,在不经过URL的时候,即纯Javascript调用用escape;涉及URL时,通常用encodeURI对整个URL进行处理,仅当URL中含有特殊参数时,对该特殊参数局部使用encodeURIComponent。

最新文章

  1. 在Android上使用qemu-user运行可执行文件
  2. 创建 floating IP - 每天5分钟玩转 OpenStack(106)
  3. 大素数测试 求因子 poj 1811
  4. HandlerMapping 详解
  5. 【浏览器渲染原理】渲染树构建之渲染树和DOM树的关系(转载 学习中。。。)
  6. linux 下按在sqllite
  7. &lt;你不知道的JavaScript&gt;读书笔记
  8. C++中头文件(.h)和源文件(.cpp)都应该写些什么
  9. Ubuntu14.04 工作区设置
  10. 【Learning】带花树——一般图最大匹配
  11. Java遍历二叉树深度宽度
  12. js坚持不懈之13:JavaScript查找HTML元素的方法
  13. [Linux]fcntl函数文件锁概述
  14. Python_day_01
  15. Mybatis判断map参数是否存在
  16. 小结:ES7——async和await初识
  17. 笔记 : Ubuntu部署LNMP环境
  18. Web of Science API
  19. Android NDK开发篇(六):Java与原生代码通信(异常处理)
  20. sqlmap简单使用方法

热门文章

  1. (转载)Eclipse下配置Github环境 .
  2. Unity3D中读取CSV文件
  3. A题笔记(2)
  4. OC基础-day04
  5. cocos2d-x Android 环境搭建问题汇总
  6. 寒假ACM训练(二)
  7. C++的显示转换
  8. IE9透明filter和opacity同时生效的解决办法 IE9 hack only
  9. LVS高可用集群
  10. BOM 之 window