此外一样首小说 JavaScript
Tips

 

  1. 得到span标签的值需要为此text();

  2. datepicker控件的‘setDate’属性可用以安装默认值;

3.
以parseFloat转换时,假使字符串超出float的界定(无限的),将会见回去Infinite或者-Infinite,此时得以据此isFinite来展开判定,详情请参见此文章

4.
如果当dialog中生server控件,需要以此dialog加至页面的form对象下,否则,server控件的波未谋面为触发;具体操作如下:

    When you create the dialog, you need to move it a bit for
ASP.Net, like this:

      $(".class").dialog({//options}).parent().appendTo("form");

`By default the [.dialog()moves the content to just
before
](http://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js#L76) which
most importantly is *outside*the

`, so elements within it
won’t be included in the POST (or GET) to the server. If you manually
move it like I have above, it’ll resolve this issue.

5.
但应用html()给HTML标签添加内容,可接纳append()与prepend()为当前因素添加子元素,append()是加上到最后一个子元素的职务(last
child),prepend()添加到第一单子元素的地方(first child);

6.
JavaScript遭逢之字符串拼接,直接用+=,不要以concat,因为以concat需要成立另一个变量去接受合并后底字符串;

7. JSON.stringify()用来以json对象转为string;

8.
$.parseJSON()用来以json对象转为javascript对象(即怀有的key都改为属性);

9. jQuery.each(array/object,
callback)与$(selector).each()不同,当对array举行操作时,只好采用jQuery.each(array,
callback);

The $.each() function is not the same as $(selector).each(), which is used to iterate, exclusively, over a jQuery object. The $.each() function can be used to iterate over any collection, whether it is an object or an array. 
  1. JS
    Array的操作方法pop()和shift()将会晤独家移除Array的终极一个以及率先个要素(对Array本身举行操作,不需要仓储到任何元素中),再次来到值为让移除的至极元素;

  2. JS Array的操作方法slice(start index, end index)和splice(index,
    length,
    values)能够本着数组举办截取和东拼西凑操作,slice()需要将操作结果保存及一个新的数组中,而splice是本着自我的操作;

  3. JS Array目的足以直接alert出来,结果显示为为逗号分隔到字符串;

  4. $.getScript(url,
    [callback])
    因此GET请求载入一个javascript文件,并可是当js文件成功载入后调整用一个函数;

  5. jQuery选用器有以下几栽模糊匹配(通配符):

    属于性值以有字符串开头:selector[attrName^=”value”];
    属性值以某个字符串截至:selector[attrName$=”value”];
    属性值包含有字符串:selector[attrName*=”value”];

  6. $.(“#”)拿到的靶子是jQuery对象,无法平昔用HTML
    DOM对象的方,比如document.getElementbyId(“”).innerHTML=”XXX”可以干活,$(“#”).innerHTML就无可以;比如File
    API是HTML 5 DOM对象的方法,所以 $(“#”).files 不可以拿到其他数;

  7. $(“#”)[0] 就得以一个jQuery对象转换成为
    DOM对象,$(element)就可用一个DOM对象转换为jQuery对象;

  8. $.each(function(){});中的return true/return
    false操作只是用来跳出当前轮回(卓殊给C#屡遭之break),不能用于重返true或false值,$.each(function(){})是回调函数,重返的吗是一个凑合,所以于each内部不可知直接return出一个价值(此处与C#今非昔比),因而想只要以到$.each()中的价值时,只好遵照以下写法来开:

    function test(){
      var success = false;
      $(..).each(function () {
      if (..) {

         success = true;
         return false; //跳出循环,相当于C#中的break
    

      }
      });
      return success ;
    }

  9. 自从jQuery 1.7始发,应该利用.on()法替代.live(),
    .bind(), .delegate()艺术,
    .on()好吗依存的,以及将动态增长的素附加事件,可是有时为即将添加的源于附加事件频仍,即使使用.on()也恐怕不起成效,比如:
    $(“.jstree-icon”).on(“click”,function(){…});
    这时可以变更一下写法,使用以下措施:

    //jstree is the id of parent element, all nodes including that which will be generated later have a class name jstree-icon

                $("#jstree").on("click",".jstree-icon",function(){
    
                });
    

20. insertBefore(newChild,existingChild),例:oParentNode.insertBefore(newNode,oParent.childNodes[0]);

21.
children()方法唯有会检索当前因素的下一级子元素中之情节,但find()方法可搜索当前因素的有着子元素中之内容;

  1. jquery.data()方法是为着HTML5
    dataset属性设置的,用于获取或安装HTML5着于定义之性质(data-*)值,可以参考此文章,可是,jQuery是通用的,即于非HTML5页面还是可以够使用.data(*)来取得对象的data-*性能,此处有以下几点需要专注:

(1) .data(key,value) 和 .data(key)中的 key值是 大小写敏感的;

(2) 假诺是故 .data(key, value)
动态生成的data-*性,则key值区分轻重缓急写;

(3) 假设是一贯写于html结构中的,例如:<tr
data-childNodes=”A”></tr>,由于html在变化无常页面时碰面以享有标签、属性改为小写,则于得到值平日,应该运用全小写的格式,例如:.data(“childnodes”);

(4)
其实就是是看生成后底HTML页面中,data-*属性是大写依然有点写,由于动态增长的data-*特性是于
html生成之后,所以保留了我的轻重缓急写,直接写在HTML结构中之data-*属性是于HTML生成在此以前写的,所以还会师活动转为小写格式;

23.
和trigger()比较,triggerHandler()方法无碰面触发事件之默认行为(也就是说并无会师真地接触这多少个波),只会尽事件的情;

24.
jQuery挨出三栽判断checkbox选中与否的道:详见此页

.attr(‘checked’):   //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false
.prop(‘checked’): //16+:true/false
.is(‘:checked’):    //所有版本:true/false//别忘记冒号哦
  1. jQuery中对此true/false类型的性质,提出用prop,而未attr;

26.
jQuery底toggleClass()方法可长四只class作为参数,但是,这么些中凡是暴发一个逃匿的操作:假若element一起来就是带有类A,那么用 $(element).toggleClass(“A
B”) 时,第一破操作会移除类A,添加类B,第二破操作时虽会加加类A,移除类B;

<div class="col-xs-12 article-wrapper"></div>

//-------------------JS--------------------------
$(".article-wrapper").toggleClass("bloc col-xs-12 col-xs-4"); //第一次操作,会移除col-xs-12,添加bloc 和 col-xs-4;第二次操作,会移除 bloc 和 col-xs-4,添加 col-xs-12;由于 artible-wrapper类 用于绑定,所以不会被移除;
  1. $.each(function(index,
    item){});中的index是从0开始;

28.
朝ajax的回调函数中上加额外之参数时,能够运用如下方法,这又也是一个jQuery调用SharePoint
Web 瑟维斯(Service)的例证:

//call web service to get Person objects
    function callPersonWebService(userId, itemId){
        var soapEnv =  "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><Person xmlns='http://XXX.ColXXXX'><username>"+userId+"</username></Person></soap:Body></soap:Envelope>";  

            $.ajax({  
                url: url_webService, 
                type: "POST",  
                dataType: "xml",  
                data: soapEnv,  
                complete: function(jqXHR, textStatus){processPersonResult(jqXHR, textStatus, itemId)},  
                contentType: "text/xml;charset=\"utf-8\""
            });    
    }

    //get Person object and pass it to updateFISContact function
    function processPersonResult(xData, status,itemId) { 
        var result = xData.responseXML;

        try {  
            if (status == "success" && result){  
                    var $responseXMLObj = $(result);
                    updatedItemArr.push($responseXMLObj); //push all Person object to an array
                    $("#objectsFromWebService").text("Objects from web service: "+updatedItemArr.length);
                    updateFISContact($responseXMLObj, itemId);
            }    
        }  
        catch(e) {  
            alert(e);  
        }  
    }  

29.
ajax中,data指的是出殡到劳动器端的数额;dataType属性指示了客户端接收到之数据类型contentType指示了发送至服务器端到数据类型;假设非点名,jQuery 将活动遵照 HTTP 包 MIME
音讯再次来到 responseXML 或
responseText,并视作回调函数参数传递,可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含 script 元素。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

30.
ajax之调用是异步的,假使想假设在其他格局吃行使ajax的归值,则非克简单地展开赋值或者return给任何情势,需要以success函数或者done函数中举办持续操作;

广大的错误写法如下:

function checkUniqueRoleAssignment(restURI) {
    var result = false;
    $.ajax({
        url: restURI,
        type: "GET",
        headers: { "Accept": "application/json;odata=verbose" },
        success: function (data) {
            if (data.d) {
                result = data.d.HasUniqueRoleAssignments; //true or false
            }
        },
        error: function (xhr) {
            //do nothing
        }
    });
    return result;
}

本条种写法导致的结果是,每趟都会晤回到false,因为以ajax尚未再次回到 data
时,return result 已为实践了;

然的写法为:

function checkUniqueRoleAssignment(restURI) {
    return $.ajax({
                url: restURI,
                type: "GET",
                headers: { "Accept": "application/json;odata=verbose" }
            });
}

//调用时
checkUniqueRoleAssignment(uniquepermissionURI).done(function(data){if (data.d) {
            var result = data.d.HasUniqueRoleAssignments; //true or false

            //to do next
        }
});

31. 

 

 

 

相关文章

网站地图xml地图