• 锋利的jQuery读书随笔


    代码规范:
    var $variable = jQuery对象;
    var variable = DOM对象;

    jQuery对象无法使用DOM对象的任何方法,同样DOM对象也无法使用jQuery对象的任何方法。
    下面两个代码是等效的,获取id为foo的元素的html代码。
    document.grtElementById("foo").innerHTML;
    $("#foo").html();

    DOM对象和Jquery对象的转换
    JQuery->DOM
    1) var $cr = $("#cr");
    var cr = $cr[0];
    alert(cr.checked); 检测这个checkbox是否被选中了
    2) var $cr = $("#cr");
    var cr = $cr.get(0);
    alert(cr.checked); 检测这个checkbox是否被选中了
    DOM->JQuery
    var cr = document.getElementById("cr");
    var $cr = $(cr);

    <input type="checkbox" id="cr" /><label for="cr">我已经阅读了上面制度. </label>

    用DOM方式来判断复选框是否被选中
    $(document).ready(function(){
    var $cr = $("$cr");
    var cr = $cr[0];
    $cr.click(function){
    if(cr.checked){
    alert("感谢你的支持!你可以继续操作");
    }
    }
    })
    用JQuery方式来判断复选框是否被选中
    $(document).ready(function)(){
    var $cr = $("#cr");
    $cr.click(function(){
    if ($cr.is(":checked")) {
    alert("感谢你的支持!你可以继续操作");
    }
    })
    }

    JQuery.noConflict()函数可以将变量的控制权移交给其他JavaScript库
    JQuery.noConflict()函数也可以自定义一个快捷方式
    ……省略其他代码
    var $j = JQuery.noConflict();
    $j(function(){
    ………
    })

    传统的js用getElementById()和getElemnetByTagName()函数获取标签必须要进行判断

    <div>test</div>
    <script type="text/javascript">
    if (decoment.getElementById("tt") {
    document.getElementById("tt").style.color="red";
    }
    </script>

    <div>test</div>
    <script type="text/javascript">
    $('#tt').css("color","red"); 这里无需判断$('#tt')是否存在
    </script>

    $('#tt')获取的永远是对象,即使页面上没有这个元素,因此当要用jQuery检查某个元素在网页上是否存在是,不要用以下代码:
    if ($('#tt')) { //do something }
    而应该根据获取到的元素的长度来判断,代码如下
    if ($('#tt').length>0) {//do something }
    或者转化成dom对象来判断,代码如下:
    if ($('#tt')[0]) { //do something }

    给网页中的所有<p>元素添加onclick事件
    js代码如下:
    var items = document.getElementByTagName("p");
    for(i=0;i<items.length;i++){
    items[i].onclick = function(){
    //do something
    }
    }

    对多选框进行操作,输出选中的多选框的个数
    var btn = document.getElementByName("btn");
    tbn.onclick = function (){
    var arrays = new Array();
    var items = document.getElementByName("check");

    for(i=0 ; i<items.length;i++){
    if(items[i].checked){
    arrays.push(items[i].value);
    }
    }
    alert("选中的个数为"+arrays.length);

    鼠标事件键盘事件表单事件文档/窗口事件
    click keypress submit load
    dblclick keydown change resize
    mouseenter keyup focus scroll
    mouseleave   blur unload
    hover      

    注意:load() 方法在 jQuery 版本 1.8 中已废弃

     
  • 相关阅读:
    sqli-labs lexx25-28a(各种过滤)
    sqli-labs less-24(二次注入)
    sqli-labs less13-20(各种post型头部注入)
    sql注入之双查询注入
    sqli-labs less11-12(post型union注入)
    sqli-labs less8-10(布尔盲注时间盲注)
    sqli-labs less-7(文件读写)
    Vue ref childNode 坑
    Blob
    中文输入法不触发onkeyup事件的解决办法Script
  • 原文地址:https://www.cnblogs.com/katu/p/11504331.html
Copyright © 2020-2023  润新知