小注
以下内容是我开发过程中,遇到的一些问题。分享出来,加深记忆,如果您读到的内容解决了你哪怕一丢丢的问题,那都是我的无上荣幸,谢谢!
包含的内容,主要有:浏览器相关、jq、js、html、css等;
前端参数转义
js中拼接html的转义,转义的规则(单双引号同理):
例:’ + a + ’ --> \’’ + a + ‘\’
jq高级选择器
 后代:$ ("#id option:eq(0,1)");
 子类:$ ("#id >option");
js传值问题
当需要传一个含有引号的字符串时,可以创建一个含有字符串的参数,在传入,而不是直接拼接。
例如:var time = “‘time’”;
两个50%宽度div不同行
为什么我两个div,宽度都给50%,就换行了,给49%就没问题(关于两个DIV各占50%时无法在同一行显示的问题?
原因:
浏览器的原因,浏览器有3px的BUG。
因为margin,padding,border都设为0,所以与之无关。
解决:
(1) 在其中一个div上加上margin-left:-3px;
(2) 将两个元素都设置为靠左或靠右浮动,然后将宽度均设为50%。
注意:
margin,padding,border是会占用当前元素以外的空间,而并非其本身的空间。
前端页面元素的结构
ie浏览器不兼容问题
IE是个神奇的浏览器,似乎对很多写法都有一种抵触情绪。
1.IE不兼容 for in 遍历
在遍历checkbox获取被选中的值时,永远获取不到,很纳闷,谷歌火狐都可以,后来发现,是for in不兼容的问题,改为java的那种遍历,或者$.each就可以解决了。
2.IE中的 console.log();
主要是不兼容部分版本IE浏览器(8及8之前),会导致js卡死,加载不出来。所以要写完代码,养成良好的编程习惯,删除所有console.log.
前端工具
FE(FEHelper),FE前端助手,里面有html2js,挺好用。