JQuery学习---JQuery深入学习

属性操作

$("p").text()    $("p").html()   $(":checkbox").val()

$(".test").attr("alex")   $(".test").attr("alex","sb")

$(".test").attr("checked","checked")  $(":checkbox").removeAttr("checked")

$(".test").prop("checked",true)

$(".test").addClass("hide")

<body>
      <input id=‘ck‘ type="checkbox" school="peking">
</body>
<script src="jquery-3.2.1.js"></script>
// attr表示自定义的属性,一个参数标书属性,2个参数表示参数和参数值
$("#ck").attr("checked","true");    //添加属性checked
$("#ck").removeAttr("checked");     //取消属性checked  在JQ3中,取消属性不能用attr("checked","false"),必须用remove
// prop表示固有的属性【最适用selected和checked】
 $("#ck").prop("checked",true);
 $("#ck").prop("checked",false);    // 注意这里布尔值不带引号,JQ3中取消属性不能remove,必须使用不带引号的布尔值
</script>

初始值:

用prop修改:自定义属性修改失败,固定属性修改成功[内部有一个Attributes集合,设置成功与否与此有关]

用attr修改[此时id=xxx]:attr都可以进行修改成功[内部有2个状态,true和false,自定义的默认undefied]

总结一下:

JQ3中:  attr的取消必须remove;  prop的取消使用不带引号的布尔值参数

固有属性[select,checked]用prop;    自定义属性用attr

文档处理

内部插入 $("#c1").append("<b>hello</b>")     $("p").appendTo("div")

prepend()    prependTo()

外部插入  before()  insertBefore()  after insertAfter()

replaceWith()   remove()  empty()  clone()

取值操作:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="jquery-3.2.1.js"></script>
</head>
<body>
    <input id=‘ck‘ type="text" value="你好">
 <input type="checkbox" name="hobby" value="basketball">  <!-- value默认是on,如果value有则显示本身值-->
</body>
</html>
    <script src="jquery-3.2.1.js"></script>
<script>
    // 取出value属性
    console.log($(":text").val());        //打印:你好,取值操作
    $(":text").val("hello world");        //打印:hello world, 此时修改了框内内容
    console.log($(":checkbox").val());    //打印:basketball,取值操作
</script>

父子类直接的插入:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="jquery-3.2.1.js"></script>
</head>
<body>
    <div id="div1" style="color: yellowgreen">div1
        <p id="p0" style="color: #c233cd">inner_p0</p>
        <p id="p2" style="color: #3e40cd">sbulings_p2</p>
    </div>
    <p id="p1">outer_p1</p>
</body>
</html>
    <script src="jquery-3.2.1.js"></script>
<script>
    // ------------------------------内部插入------------------------------
//      $("#div1").append($("#p1"));    // div1 -> inner_p0 -> sbulings_p2 -> outer_p1
//      $("#p1").appendTo($("#div1"));  // div1 -> inner_p0  -> sbulings_p2  -> outer_p1
//      $("#div1").prepend($("#p1"));   // outer_p1 -> div1 -> inner_p0 -> sbulings_p2
//      $("#p1").prependTo($("#div1")); // outer_p1 -> div1 -> inner_p0 -> sbulings_p2
    // ------------------------------外部插入------------------------------
//        $("#div1").after($("#p1"));     // div1 -> inner_p0 -> sbulings_p2 -> outer_p1
        $("#p1").before($("#div1"));      // div1 -> inner_p0 -> sbulings_p2 -> outer_p1
</script>

文件操作之删除:

remove(): 删除本标签以及内容

empty() : 仅仅情况了内容,但保留了本标签

jQuery事件绑定补充之委托

$(‘li‘).click(function () {
    // 方法一
})
$(‘li‘).on(‘click‘, function () {
    // 方法二
})
// 基于Jquery的委托绑定
 $(‘td‘).on(‘click‘, ‘.td-delete‘, function () {
   $(‘.remove, .shade‘).removeClass(‘hide‘)
 })

事件绑定:

【更多参考】http://jquery.cuishifeng.cn/ready.html

1.DOM下操作

2. jQuery操作[去掉了on的onclick()]

DOM下的操作【复习】:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"></head>
<body>
   <p id="p1" onclick="func1(this)">hello world 2017</p>
   <p id="p2">hello world 2018</p>
</body>
<script>
    //  DOM绑定事件的复习:方法一
    function func1(self) {
        var info = self.innerHTML;
        alert(info);
    }
    //  DOM绑定事件的复习:方法二
    var obj = document.getElementById("p2")
    obj.onclick = function () {
        alert(this.innerHTML)   // 可以直接使用this,调用对象的属性
    }
    // onload()方法复习
    window.onload=function () {
        var obj = document.getElementById(‘hello‘);
        alert(obj.nodeName)
    }
</script>
</html>

jQuery方法复习:实现css样式:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"></head>
<body>
   <p id="p1">hello world 2017</p>
   <p id="p2">hello world 2018</p>
</body>
<script type="text/javascript" src="jquery-3.2.1.js"></script>
<script>
    $("#p1").css("color","red");
</script>
</html>

jQuery下的onload()

取消事件:unload()

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">
    <script type="text/javascript" src="jquery-3.2.1.js"></script>
    <script>
        // jQuery下面的onload方法使用一:
        $(document).ready(function () {
            $("p").css("color","red");     // 给所有的P标签变红
            $("#p1").css("color","green");  // p1变绿色
        })
        // jQuery下面的onload方法使用二【推荐使用,方法一的简写】:
        $(function () {
            $("p").css("color","orange");     // 给所有的P标签变红
        })
    </script>
</head>
<body>
<p id="p1">hello world 2017</p>
   <p id="p2">hello world 2018</p>
</body>
</html>

jQuery的页面载入

ready(fn)

jQuery的事件绑定: click(), bind(),on()等事件绑定操作

取消事件:off()等;

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"></head>
<body>
<p id="p1">hello world 2017</p>
<p id="p2">hello world 2018</p>
<ul>
    <li>111</li>
    <li>222</li>
    <li>333</li>
</ul>
<input type="button" value="+" onclick="add()">
</body>
 <script type="text/javascript" src="jquery-3.2.1.js"></script>
<script>
    // jQuery下面的onclick():
      $("p").click(function () {
          alert(123);
      })
    // jQuery下面的bind()[bind方法不建议使用]:
    $("p").bind("click", function () {
        alert(456);
    })
    function add() {
        $("ul").append(" <li>444</li>");
    }
    // 点击li触发一个函数,但是后面新添加就无法实现点击触发的效果了,使用on函数解决
    $("ul li").click(function () {
    alert("hello world");
    })
    //jQuery下面的on():on(events,[selector],[data],fn)
    // 实现了动态添加的一个事件委托,绑定了ul,但是实现了li的onclick
    // $("ul li").on("click" ,function () { 错误的使用,缺少了selector,根bind效果同,无法实现动态绑定效果
    $("ul").on("click","li",function () {
        alert(‘on‘);
    })
     function func2(event) {
       alert(event.data.foo);    // 取值操作
   }
   $("p").on("click",{foo:‘on的data传值操作‘},func2)
    // JQ3多用on, JQ2多用delegated
</script>
</html>

jQuery的回调函数:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p style="display: none">hello world</p>
<input id="show" type="button" value="显示">
<input id="hide" type="button" value="隐藏">
<input id="toggle" type="button" value="toggle">
<script src="jquery-2.1.4.min.js"></script>
<script>
    $("#show").click(function () {
             $("p").show(2000,function () {
                 alert(123)
             });
    });
    $("#hide").click(function () {
             $("p").hide(1000);
    });
     $("#toggle").click(function () {
             $("p").toggle(1000);
    });
</script>
</body>
</html>

jQuery的扩展方法:

自定义扩展[jQuery调用]

自定义扩展[标签调用]

私有域的扩展[将自定义的函数放入到一个函数内部进行调用,保证内部变量不被外部调用],变量只在函数内部哈~

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<p id="p0">hello world 2018</p>
<script src="jquery-2.1.4.min.js"></script>
<script>
    // 自定义函数,直接由jQuery调用
    $.extend({
        getMax:function (a,b) {
            alert(a>b?a:b);
        }
    })
    $.getMax(3,8);       // 8

    // 自定义函数,必须由标签对象调用
    $.fn.extend({
        print:function () {
            alert($(this).html());     // jQuery中查询值
        }
    });
    $("p").print();

    // 高级应用             --自定义函数添加私有域,避免内部变量被外部调用,避免变量产生冲突
    (function (a) {
        alert(a)
    })(666) ;         // 打印666         // 自执行的匿名函数

    (function ($) {
        // 扩展的私有方法,添加了私有域
         $.fn.extend({
                print:function () {
                    alert($(this).html());     // jQuery中查询值
                }
            })

    })(jQuery);               // 不写jQuery也可以,为了方便识别
    $("p").print();             // hello world 2018
</script>
</body>
</html>

JQuery中for循环的使用

JQuery中for循环的使用:

1. 数组,键值对的使用

2. 集合的取值

<script src="jquery-3.2.1.js"></script>
<script>
    // for循环:数组,Json的Key-Value
    li = [1,2,3,4,5,6,7];
    kv = {name:"hello", value:"world"};
    $.each(kv,function (key, value) {
        console.log(key,value);
    })
</script>

for循环集合的打印:【注意$符号】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>left_menu</title>
    <script src="jquery-3.2.1.js"></script>
</head>
<body>
<ul class="menu">
      <li id="c1" class="current" onclick="tab(this);">菜单一</li>
      <li id="c2" onclick="tab(this);">菜单二</li>
      <li id="c3" onclick="tab(this);">菜单三</li>
</ul>
</body>
    <script src="jquery-3.2.1.js"></script>
    <script>
        $("li").each(function () {
            console.log($(this).html())  // ,注意$符号取出内容
        })
    </script>
</html>

原文地址:https://www.cnblogs.com/ftl1012/p/9397581.html

时间: 2024-11-23 05:21:54

JQuery学习---JQuery深入学习的相关文章

jQuery学习-------jQuery选择器

基本选择器: id选择器:$("#id") 标签选择器:$("tag") 类选择器:$(".classname") 通配选择器:$("*") 组选择器:$("selector1,selector2,...,selectorN") 层次选择器: 包含选择器:$("ancestor descendant") 子选择器:$("parent>child") 相邻选择器:

jQuery学习--------jQuery过滤器

each() 方法规定为每个匹配元素规定运行的函数. 过滤: 下标过滤: eq(index) //获取第index个元素 类过滤: hasClass(class)  //检查当前元素是否含有某个特定的类,如果有,返回true 例如:$("div").hasClass("div1") //含有div1类的div元素 表达式过滤: filter(expr)  //筛选出与指定表达式expr匹配的元素集合,用逗号分隔多个表达式 filter(fn)    //筛选出与指定

从零开始学习jQuery (三) 管理jQuery包装集

本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着学习如何管理jQuery包装集, 比如添加,删除,切片等. 二.前言 本系列的2,3篇上面列举了太多的API相信大家看着眼晕. 不过这些基础还必须要讲, 基础要扎实.其实对于这些列表大家可以跳过, 等以后用到时再回头看或者查询官方的API说明. 本章内容很少, 主要讲解动态创建元素和操作jQuery

JQuery Jcrop 图像裁剪工具学习

options 参数说明: 名称 默认值 说明 allowSelect true 允许新选框 allowMove true 允许选框移动 allowResize true 允许选框缩放 trackDocument true baseClass "jcrop" 基础样式名前缀.说明:class="jcrop-holder",更改的只是其中的 jcrop. addClass null 添加样式.例:假设值为 "test",那么会添加样式到 class

Jquery Easy UI初步学习(二)datagrid的使用

第一篇学的是做一个管理的外框,接着就是数据datagrid绑定了,这里我用asp.net mvc3来做的,主要就是熟悉属性.方法. 打开easyui的demo 就可以看到如下一段代码: 和上篇一样class="easyui-datagrid", data-options="...",这是一样的,其他我在网上查了查,并做了整理 DataGrid 属性 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls strin

前端学习——JQuery Ajax使用经验

0.前言 在项目推进过程中经常使用Ajax,通过Jquery提供的函数可以非常方便的使用Ajax,但是在实际使用中也遇到一些问题,例如如何防止浏览器使用缓存,如何使用同步方式等.通过博文整理总结希望自身有所提高. 在这里通过一个加法例子说明问题.为了突出ajax,前端网页和后端PHP程序尽可能的简单. [前端]--add.html 图1 add页面 [后端]--add.php <?php // 返回JSON格式 header('Content-Type:application/json;char

学习jQuery之旅

早就听说了Jquery的大名,一直没有细心的学习一下,通过阅读收集的一些资料,感觉Jquery真的很强大.决定开始自己的学习Jquery之旅.在这里不是为大家讲解Jquery(深知水平有限),只是将自己的学习成果分享给大家,共同学习和交流. jQuery简介 我所理解的jQuery就是一个强大的Javascript类库,里面封装好了很多现有的方法和属性.可以使开发人员用很少的代码更好更快的开发出自己想实现的效果.过多的jQquery在这里就不多介绍了,想必很多人都已经看过了更详细的文档,我就不多

从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件

原文:从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零

从零开始学习jQuery (十) jQueryUI常用功能实战

原文:从零开始学习jQuery (十) jQueryUI常用功能实战 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始

从零开始学习jQuery (一) 开天辟地入门篇

原文:从零开始学习jQuery (一) 开天辟地入门篇 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零开始学习jQuer