初涉JQuery 常用 小结

比较两个数值的大小

function check() {
             var Pa = $("#txtPriceMoney").val();
             var Pb = $("#txtPrice").val();
             //if (txtUser <= ids) { 这样写不对,结果是FALSE,不是数值比较而是字符之间的比较
             if (parseInt(txtUser) <= parseInt(ids))//这样写就ok了
             }
         }

JS中浮点数的多余的精度  (小数之间相加相减,会出现数据计算有误差的为问题)

  • var a= 2.6; 
    var b=2.3; 
    var c = a-b; 

    那么c的值是多少?0.3?不对,它的值是 0.3000005 0.29999997之类,总之就是不等于0.3。

    产生这个情况的原因是浮点数在JS中的存储方式,不仅JS,严格符合ECAMScript规范的脚本语言都有相同的问题。
    解决方法 var c = Math.round((a-b)*10)/10; 产生一位小数的精度。
    为什么不直接用 (a-b)*10/10?因为当 c=0.29999997时,计算结果变成了我们不想看到的0.2。

js中,字符串用"+"号可以直接拼接

var a="2.1"; 
var b="13"; 
var c=a+b;

c的值为 2.113,因为+在字符串间是连接符。

       如果要求a与b的和,则先要把a、b用parseFloat()或parseInt()转化为浮点数、整数 黑客方法 var c=a-0+b;

       因为 – 不管是在数值还是字符串间都是减法运算,对字符串JS会自动把它转化为数值。

 Jquery中什么时候用$(this),什么时候不存在$(this)?

看看这个例子,点击切换图片。 
$(function(){
$(img).bind('click', function(e){
    $.ajax({
        'url':'http://www.declab.com/?id='+$(this).val(),
        'success':function(html){ $(img).attr('src','http://www.declab.com/images'+html) },
        'cache':false
        });
    });
});

       在这段代码中, 'url'中的 $(this) 和 'success'函数中的$(img) 都是指代码开头被点击的$(img),
       但你不可以把第二个$(img)也换成$(this),它属于函数function(html){}的局部变量,已经出了function(e){}的作用域。

jquery控制按钮提交:禁用&可用  

  1.按钮的id为btnzhuce
  ==》 控制按钮为禁用:
  $("#btnzhuce").attr({"disabled":"disabled"});
  ==》控制按钮为可用
  $("#btnzhuce").removeAttr("disabled");//将按钮可用

JavaScript特殊字符替换及替换全部字符串

 

var str = "$Hello World!$Hello World!$Hello World!";
//把所有的“Hello World!”替换为“Welcome you!”。“/g”是替换全部。
alert(str.replace(/Hello World!/g,"Welcome you!"));
var str = "$Hello World!$Hello World!$Hello World!";
//利用正则表达式把所有的“$”替换为“#”。“$”为特殊字符,所以前面要加“\\”。
var regS = new RegExp("\\$","g");
alert(str.replace(regS,"#"));

 元素隐藏与显示

$("#btnInputSotre").hide(); //隐藏   $("#btnInputSotre").show();//显示

 

      

 

 

 

 

posted @ 2013-06-21 15:42  @ning  阅读(218)  评论(0)    收藏  举报