`

前端杂记

 
阅读更多

1.在项目中有遇到jquery的toggle方法,它只作用在表格数据的第一行,而其他行却没有效果,原因是绑定toggle方法的dom元素是最底层的,它再没有子元素。所以用jquery选择器时需要给定它的父类元素。

2.如何让一个元素的click方法第一次完成后就变的不可用。可以给一个变量来判断,在第一次执行完成后赋予一个值,再次进入方法时判断该变量是否为给定的那个值,如果是直接return false。

 

3.在IOS7下position:fixed定位会出一些bug. 输入框 focus 状态下 fixed会随之改变。参见该页面详细描述(http://www.cnblogs.com/zhangdaiping/p/3170892.html) 后期BETA3修复了该问题,但是在微信下页面还是会出现一样的问题。后查找可以修改viewport//修改viewport标签 <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> //原标签<meta name="viewport" content="width=device-width initial-scale=1,user-scalable = 0"/>

 

4.http://localhost:8080/test/a.jsp?apple=1,这里在jsp页面中使用${apple},是取不到值的,但是使用${param.apple}或${param[apple]}就可以取到值。

原因:${id} 意思是取出某一范围中名称为id的变量。它的取值范围为page,request,session,application。
${param.id} 与输入有关,相对于 request.getParameter("id")。意思是获得输入的参数id。
因为a.jsp提交到b.jsp过程中,id不属于Page,Request,Session,Application任何范围中的一个,所以取不到。
而id是a.jsp传给b.jsp的一个参数,所以${param.id}取到值。
Request的范围是指一个jsp页面发送请求到另一个jsp页面之间。
在a.jsp里<%request.setAttribute("key","Test")%>
当a.jsp转向b.jsp时,b.jsp可以得到a.jsp的变量key的值,而别的jsp页面是得不到值的。
这里面的关键是a.jsp要转向b.jsp,在a.jsp加上<jsp:forward page="b.jsp"/>表示要转向b.jsp.否则b.jsp得不到a.jsp设置的key的值。

 

5.在后台将用户的登录信息存储到session中,然后需要在前台页面取出用户对象的某属性进行操作,那么在js中的调用方法为:
var ken = "${sessionScope.user.authority}";

6.更改页面文本的内容:

$("#collect").text("取消收藏");

document.getElementById("collect").innerText="已开启";

 

7.js获取字符串总字节数

function getByteLen(val) {      
    //传入一个字符串  
    var len = 0;  
    for (var i = 0; i < val.length; i++) {  
        if (val[i].match(/[^\x00-\xff]/ig) != null) //全角   
               len += 2; //如果是全角,占用两个字节  
         else  
             len += 1; //半角占用一个字节  
         }  
        return len;  
    }  
} 

一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

 

8.jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。

所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。

在jQuery 1.9之前(不含1.9):如果传入一个空字符串、null或undefined,该函数将返回null,而不是抛出一个错误,即使它不是有效的JSON字符串。

 

9.JS实现replaceAll方法

JavaScript中replace() 方法,如果直接用str.replace("-","!") 只会替换第一个匹配的字符.。

而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。

还可以使用以下的方式:

string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics