工作笔记总结——前台js—jQuery—HTML
来源:互联网 发布:韩国媚日 知乎 编辑:程序博客网 时间:2024/06/05 17:24
1、js精确计算两个浮点数加法
思路:将乘数和被乘数乘以小数点较大的10的幂指数方,将浮点数转换为整数,然后相加后除以幂指数方即可转化为小数
例子:
<html><head><script type="text/javascript">function test() {FloatAdd(12.1112,0.00001100003999);//alert();}//浮点数加法运算 function FloatAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} m=Math.pow(10,Math.max(r1,r2)); alert((arg1*m+arg2*m)/m); //return (arg1*m+arg2*m)/m }</script></head><body><a onclick="test();" href="#">测试浮点数加法</a></body></html>
2、jQuery
1)jQuery中选择器中多个条件中间有一个空格表示前面的选择器满足后,只要它的后代节点中有满足第二个条件的即可,如果中间是”~“ 则表示必须是儿子节点。
如:$("form table")表示form下的子节点中所有的table,而$("form ~ table")表示form的儿子节点中中的table。
2)jQuery实现元素隐藏
$("#xxx").css('display', 'none');
3、js数组
var arrayObj = new Array();
arrayObj.push(obj); //将obj对象放到数组中
arrayObj.pop(); //弹出最上面的元素
属性:length、constructor、prototype
5、param获取URL中的参数,示例代码:
${param.arg1}
6、在jsp中使用EL表达式获取后台对象时,最好指定域,page、request、Session、application,示例代码:
request: ${requestScope.user.userId} // 拿request域中user对象中的userId属性
7、EL表达式中两种获取属性方式“."和”[ ]“,前者是获取bean属性或是Map,后者是获取数组或是List,也可以结合使用,示例代码:
${sessionScope.userinf[0].id } // 获取Session中第一个user的id属性,使用“[ ]”可以使用特殊字符
8、js中top.parent.frame
top:该变量永远只分割窗口最高层次的浏览器窗口,如果计划从分割窗口的最高层次开始执行命令,可以用top变量
分割窗口:frameset或iframe中
获取frame文档对象:$(window.parent.frames["frameId“].document}
9、替换HTML中标签j替换为空字符串js代码
示例代码:
s.replace("/<[^>]+>/g", "");
10、在jsp中文档头部一般使用严格的:<!DOCTYPE HTML>即可,其他的都是过渡和基于框架的,否则会导致页面中样式的显示有些奇怪的问题
11、对于使用jQuery中的replace时,将<a>标签替换原来的文字时,a标签中的标签乱了,是因为onclick=后面的需要用双引号,并且需要转义,不然会导致引号不匹配
1)单/双引号匹配问题会导致浏览器解析标签错乱
2)双引号需要转义
12、添加自定义属性到标签时,最好全部小写,否则有的浏览器解析会将属性全部转换为小写,这样就和原来我们自己定义的不一样了,导致取不到DOM对象,其二就是标签属性按照规范来的话也都是小写。
14、jQuery1.4和jQuery1.7使用上的不同
对于使用“[ ]”来去取dom对象的选择器在1.4上有时会失效,1.7比较稳定
13、对于input为reset类型的输入域,在刚进入页面时调用jQuery的click方法后,在input标签中的onclick属性就会被移除掉
14、在多个frame嵌套下可以通过top那第二层frame,以name拿,并且可以调用对应jsp页面的js方法,例如:
top.navFrame.insertTabs('1', true); //调用一级frame下以navFrame为name的frame,调用inserTabs方法;//如果想拿到对应frame的dom对象,可以使用如下写法$(top.navFrame.docment).find("#first"); //查找navFram中以first为id的元素;注:也可以使用parent替换top,top指的是最外层的dom,parent指的是当前页面的上级页面,有时候可以通用15、IE6兼容问题
1)a标签中的onclick表单submit不管用了,因为如果有href属性的话,默认行为是href后的代码,不会提交表单了,有两种解决方案:
一、不加href属性,样式中加上手型,模拟超链接:代码如下:
<a onclick="test();" style="curse :pointer" >test</a>二、在onclick方法后加上return false,阻止a标签的默认行为;
代码如下:
<a href="javascript:void(0);" onclick="test();return false;" >test</a>2)HTML标签中name一般不允许更改,在IE6/IE7中不能更改,IE8可以更改,在IE7中如果对name进行赋值,将会添加submitName属性,值为想要更改name的值
,IE6我就看不到了
3)使用artDialog组件做弹出窗口时,将一个隐藏的form作为弹出窗的content,在还没有弹出该窗口时对隐藏的那个form进行标签中移除readonly属性的操作时,当需要将隐藏的form放到artDialog后,弹出来的form中依然有readonly属性,只有先将隐藏的form放到artDialog后在对form中的标签中移除readonly属性才可以成功。分析可能是IE6下无法识别别隐藏的form的原因吧,大家怎么看
16、resize多次被调用问题
在页面上点击或blur也会触发resize事件,而且不止调用一次,可以采用wresize插件解决,也可以通过设置一定的延时
17、在js中调用setTimeout方法时,由于异步的原因,最好调用setTimeout的方法后面不要有其他代码,或者是一些不会影响到setTimeout方法中调用的函数的执行,否则会导致两者同时执行时被延时的方法还没执行完,下面的代码却需要上面的结果,这样会导致页面报错,在setTimeout中函数以方法名出线,不要加括号。
18、页面表单中的输入域最好都加上英文的非法字符(包括英文表单符号),否则如果添加记录时输入java脚本后其中的内容将无法显示,但是已经存到了数据库,如“<%=test%>”,在页面列表中无法看到该内容,只有空白。
19、使用iframe或者frameset框架时不要让其滚动,不然点击出现的滚动条会jQuery报错:nodeName不是对象的错误,设置scrolling=“no",frameborder=“0”是设置边框的,默认是那种很丑的边框,一般去掉,想要加滚动条可以再frame内部的页面加滚动条。
20、使用iframe或者frameset框架时获取顶部窗口对象使用top,parent只是获取上层窗口; 计算某个元素的宽度或高度是,采用整个窗口的宽度或高度,如$(window).height();
21、使用el表达式时,对于不等使用nq,不是neq,相等是eq,对于list是否为空时,采用${empty request.result}
22、实现省略“...”需要设置style中text-overflow 和 overflow:hidden; width: 100px;
23、ie8下div下的input个数为一个时input会往上移动一点,超过一个时才会显示正常,margin才会正常起效
解决:使用span包裹在input外面即可
24、使用正则表达式获取html中的属性
Pattern p = Pattern.compile("<img[^<>]*?\\ssrc=(['\"])?(.*?)\1?\\s.*?>");
Matcher m = p.matter(html);
while(m.find()) {
imgPath = m.group(2);
}
- 工作笔记总结——前台js—jQuery—HTML
- 超漂亮的前台页面模板——html+css+js+框架
- 菜鸟学习笔记——jQuery中.css(),.each(),.append(),.html()方法总结
- 工作笔记总结——数据库
- 工作笔记总结——ftp
- 那些被漏掉的JQuery总结(三)——关于前台的数据计算问题
- 前台开发总结07——20170525
- 前台开发总结08——20170607
- 前台开发总结10——20170907
- 前台开发总结11——20171115
- 前台开发总结12——20171122
- Jquery 取 s:checkbox 的值 ——工作笔记
- 工作笔记——jQuery的事件绑定
- j2ee学习笔记之前端(js、jQuery、html、html5、webService、ajax、css)—— 一直会补充
- 前台设计——常用HTML代码(持续更新)
- WEB前台遇到的问题总结—001—使用jquery设置select的默认选中项不成功问题
- jTemplate —— 基于jQuery的javascript前台模版引擎
- 工作笔记总结——后台代码部分
- POJ 1269 Intersecting Lines(判断直线的位置关系)
- poj 3258 River Hopscotch
- hdu 2686 Matrix - 最小费用最大流 或 多线程DP
- MySql中的数据类型
- ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别(转)
- 工作笔记总结——前台js—jQuery—HTML
- 关于苹果HLS协议的解读和说明
- 木棍问题
- Photoshop初学者必须知道的十课
- gdb-watch
- 工作笔记总结——数据库
- 【3DSmax】3DSmax9基础建模教程—读书笔记5(第五课)
- poj 3471 整除与剩余
- 调试版本和发行版本