jquery、js小知识

jquery选择器

Jquery 选择器获取元素 时,对特殊字符转义需要加两个反斜杠

如:var orgName=$("#whir\\$t3198_f4972").val();    

小问题:

<div style="WIDTH: 100%" id="whir$t3198-whir$t3198_f4972">
    <div class="cls-ui cls-ui207 cls-ui-readonly cls-ui-1003131 cls-print cls-print207 cls-print-1003131">信息公司通信运维部</div>
</div>

用js怎么更改 '信息公司通信运维部'    这些字?

$("#whir\\$t3198-whir\\$t3198_f4972").children().eq(0).text("市场开发部");
 这是错误的,,这样获取不到jquery对象

$("div[id='whir$t3198-whir$t3198_f4972']").children().eq(0).text("施工部"); 
这样是对的

jquery ajax 在ie下问题:

url后面不可携带参数,若携带参数,就会发生错误
正确做法
$.ajax({
        url:'EzFLOWDealSearch!getId.action',
        data: {xmname:name},
        dataType: 'json',
        async:false, 
        success:function(data){    
            $("#xm_id").val(data.xm_id);
        },
        error:function(a,b,c){
            alert(a);
            alert(b);
            alert(c);
        }

    });

小细节:

1、jqeury在对超链接进行操作时,需在代码的最后return false取消超链接的默认行为,不然前面写的代码不一定执行完页面就跳转了。


2、jquery中replaceAll无效  只有replace方法 才可替换指定的字符串



3、jquery中的attr和prop的区别
   attr和prop都是jquery中获取对象属性的方法

   区别:
       对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
     对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。        

js常用小知识

1、js中判断字符串是否相等和indexOf()方法

    在js或jquery中,判断字符串是否相等没有equals()方法。。直接 ==即可;
    js中的==不是和java里面的==一样比较对象的内存地址;
    js中的==会根据类型和值来判断;若类型和值都相等,则相等;若类型不同,在js尝试类型转换,再比较;


    indexOf方法可返回某个指定的字符串值在字符串中首次出现的位置。
    若返回值<0 则代表字符串中没有这个指定的字符串

2、js比较数字大小
        parseInt(num1)<parseInt(num2)
        js中默认的类型是String类型,若不转换类型,则会出错

3、
    var arr = ["a", "b", "c"];
    typeof arr;   // return "object"
    arr  instanceof Array // true
    arr.constructor();  //[]

4、js去空格
    function String.prototype.Trim() { return this.replace(/(^/s*)|(/s*$)/g, ""); } // 去掉左右空格

    function String.prototype.Ltrim() { return this.replace(/(^/s*)/g, ""); } // 去掉左空格

    function String.prototype.Rtrim() { return this.replace(/(/s*$)/g, ""); }  // 去掉右空格

5、验证参数是否为数字

    function isNumber(n){
        return !isNaN(parseFloat(n)) && isFinite(n);
    }

6、获取一个数字数组的最大值和最小值
    var  numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
    var maxInNumbers = Math.max.apply(Math, numbers);
    var minInNumbers = Math.min.apply(Math, numbers);

7、清空一个数组
    var  numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
    var maxInNumbers = Math.max.apply(Math, numbers);
    var minInNumbers = Math.min.apply(Math, numbers);

jquery小技巧

1、选择或者不选页面上全部复选框    
    var flag = false; 
    $('a').click(function() {
        $("input[type=checkbox]").attr("checked",!flag);
        flag = !flag;
    });

2、在表单中禁用“回车键”

    $("#form").keypress(function(e) {
      if (e.which == 13) {
        return false;
      }
    });

3、清除所有的表单数据 (66666666666666)

    function clearForm(form) {
      $(':input', form).each(function() {
        var type = this.type;
        var tag = this.tagName.toLowerCase(); 
        if (type == 'text' || type == 'password' || tag == 'textarea')
          this.value = "";
        else if (type == 'checkbox' || type == 'radio')
          this.checked = false;
        else if (tag == 'select')
          this.selectedIndex = -1;
      });
    };

4、表单中按钮的禁用和启用

    禁用按钮:$("#somebutton").attr("disabled", true);

    启动按钮:$("#submit-button").removeAttr("disabled");    


5、高亮显示目前聚焦的输入框标示

    $("form :input").focus(function() {
      $("label[for='" + this.id + "']").addClass("labelfocus");
    }).blur(function() {
      $("label").removeClass("labelfocus");
    });

6、动态添加表单元素

    $('#password1').change(function() {
        $("#password1").append("<input type='text' name='password2' id='password2' />");
    });

猜你喜欢

转载自blog.csdn.net/qq_29992111/article/details/78749285
今日推荐