day23-Js-jQuery简单使用

一、js

1、js全名JavaScript 是一种弱类型的脚本语言,不需要编译直接在浏览器中运行。

2、js的简单使用 - 获取节点

常用的有下列方法:

   - getElementById() 通过标签的Id属性来获取,得到一个具体的节点。

   - getElementsByClassName() 通过标签的class属性来获取,返回所有匹配的节点,得到一个节点的数组,要按下标取出。

  - getElementByTagName() 通过标签名来获取,返回所有匹配的节点,得到的也是一个所有匹配节点的数组。

 

           var divNode = document.getElementsByTagName("div")[0];//根据标签名获取节点
            var h1Node = divNode.childNodes[0]; //获取孩子节点,默认获得是一个text节点。默认空白地方是text节点的。
            var h1Node = divNode.childNodes[1]; //这个才是h1节点。
            console.log(typeof(h1Node111))//调用浏览器的控制台,可以输出信息
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div id="div1">
            
            <h1 onclick="changeColor(this)">标题1</h1>
            
            <p class="pClass" onclick="changeColor(this)">
                段落
            </p>
            
        </div>

        <script type="text/javascript">
            var divNode = document.getElementsByTagName("div")[0];
            var h1Node = divNode.childNodes[0]; //获得是一个text节点。默认空白地方是text节点的。
            var h1Node = divNode.childNodes[1]; //这个才是h1节点。
            console.log(typeof(h1Node111))//调用浏览器的控制台,可以输出信息
        
            var i = 0;
            /*声明一个数组*/
            var color = [
                "red",
                "yellow",
                "pink"
            ];

            /*往数组中添加一个元素*/
            color.push("orange");

            /*定义一个方法 动态改变节点文字的颜色*/
            function changeColor(node) {
                if(i >= color.length) {
                    i = 0;
                }   
                node.style.color = color[i++];
            }
        </script>

    </body>

</html>

上述代码可以实现一个点击事件,改变字体颜色的效果。

二、JQuery

(1)jQuery 是对js的一个轻量级的封装的库,给原生的js封装好了,更加简便,写的代码更少。

(2)JQuery格式:

   - 在head中使用:    $(  function() { 代码  } ) ,这其实就是等待页面加载完毕后,再来运行这个代码(因为Html代码是从上往下加载的)。

   - 获取节点 :$( " 选择器 " )   比如 $( " #div1 ")  就获取到了id为div1的那个节点,跟css中的选择器的写法一致,三种常见的选择器写法都ok。

(3)操作元素

  通过jQuery获取到节点后,就可以操作节点了,一些写法比原生js更加简单。

  - 比如获取节点中的文本内容,直接获取节点后,使用html( )方法,不传参数获取原来的值,传递参数修改原来的值

$("#div1").html() ---->获取到了div1中的文本内容

$("#div1").html("Hello") ---->修改了div1中的文本内容为Hello

  - 更改节点的css属性  直接获取节点后,使用css( ) 方法,可以更改一个属性的值,也可以一次更改多个属性的值。

$(".class1").css("color","red")  ----->传递俩参数,一个属性名,一个属性值。
$(".class1").css({"color":"red","height":"20px"})  ----->传递任意参数,以键值对的形式写入,键值之间冒号连接,每对之间逗号隔开。一次可以修改多个属性的值

  - 绑定事件。常用click事件的绑定

写法一:直接点对应的事件名称。----->   $("selector").click( function() { 方法体 } )

$("span").click(function(){

//要执行的代码
  $("span").css("color","red"); //表示点击后颜色改变红色

})

写法二:通用写法,可以作可变的参数传递等 ----> $(" selector").on( " 事件名称 ",function() { 方法体 })  事件名称可以改变的,可做动态传入等

$("span").on("click",function(){
                   // 设置span为块级标签
                    $("span").css("display","block");
                    //修改css属性值
                    $("span").css("color","red");
                 //  设置块级标签后就可操作了 定义宽高等等
                    $("span").css({"height":"50px","width":"300px","background-color":"pink"})
})
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>jQuery</title>

        <script src="js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            $(function() {

                /*匹配元素   写法跟css 选择器类似   id选择器  类选择器  标签选择器*/
                $("#h1Id").css({
                    "font-size": "80px"
                });
                $(".h1Class").css("color", "red")

            })

            $(function() {

                $(".h1Class").click(function() {
                    alert($("h1.h1Class").html("Hello"));
                })

            })

            $(function() {
                $("#div1 #pid").click(function() {

//                    $("#div1 #pid").css("font-size","20px");
                    $("#div1 #pid").css({"font-size":"50px","color":"red"})

                })
            })
            
            $(function(){
                $("span").on("click",function(){
                    
//                    设置span为块级标签
                    $("span").css("display","block");
                    
                    $("span").css("color","red");
//                    设置块级标签后就可操作了 定义宽高等等
                    $("span").css({"height":"50px","width":"300px","background-color":"pink"})
                })
            })    
            
        </script>

    </head>

    <body>

        <h1 id="h1Id" class="h1Class">标题1</h1>

        <div id="div1">
            <p id="pid">段落</p>
            
            <span>
                我是文字
            </span>
        </div>
    </body>

</html>

 三、js - jQuery 之间转换

  1、通过jQuery获得的是一个jQuery对象 要想获得每一个元素并且操作它,就要将jQuery对象转成Dom对象(jsd对象)

 2、jQuery -----> js :jQuery对象[0]  对获得的jQuery对象 取下标为0,就获得了Dom对象

 3、js ------> jQuery  :  var node = $(Dom对象);

 

四、jQuery操作元素的方法

html( ) ----> innerHtml

val()  -----> value 

attr("xxx") --> 取某个xxx属性的值

attr("xxx","yyy")---> 修改xxx属性的值为yyy

hide:将元素隐藏,第一个参数为经历的时间(毫秒),第二个参数为回调函数(即结束后执行的方法)

show:将元素显示,第一个参数为经历的时间(毫秒),第二个参数为回调函数(即结束后执行的方法)

toggle:可以实现在自定义的两个方法间切换,不指定函数直接使用时可用于切换显隐操作,参数为经历的时间(毫秒)

    $(".btn,.s_close").click(function() {
$(".screen").toggle("slow");
});

动画函数:对于同一个元素:动画以队列的方式执行,可以控制立即结束一个动画,或者等待当前动画执行完毕后再执行下一个动画
  • animate:第一个参数为最终要达到的效果(js对象表示),第二个参数为经过的时间(毫秒),第三个参数为回调函数(即动画结束后执行的方法)

$(this).animate({left:"-"+_left+"px"},2000,function(){
// 方法体
});

 

五、元素的添加

在jQuery中也可以使用字符串拼接的方式生成一个具有标签的元素

append()  和 appendTo() 

append:要新添加的元素放在后面,要添加到的目标放在前面

$(".s_show").append("<div>" + value + "</div>");

appendTo:要新添加的元素放在前面,要添加到的目标放在后面

$("<div>" + value + "</div>").appendTo(".s_show");

posted on 2018-08-14 22:24  志爱007  阅读(110)  评论(0编辑  收藏  举报