HTML基础(jQuery)

jQuery是一个兼容多浏览器的JavaScript库,提供一些可直接调用的方法,这些方法就是对JavaScript进行了封装。

这些方法主要分为两大类:查找和操作

介绍几个目前了解的(文章中的元素和标签是一个意思):

查找:

1、选择器:用来查找页面元素

2、筛选:用来对查找到的元素进行过滤或进行关系查找(找亲戚)

操作:

3、属性:获取或添加元素的属性

4、CSS:修改元素的样式和属性

具体使用方式用例子来说明:

1、选择器

例子说明:由于此例只是为了说明各种查找方法的使用,所以看代码即可,没有运行的必要。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div id="d1">
        <span>span_test</span>
        <p>p_test</p>
        <p class="c1">p_class_test</p>
        <input name="i1" type="checkbox"/>
        <input type="text"/>
        <ul>
            <li>list item 1</li>
            <li>list item 2</li>
            <li>list item 3</li>
        </ul>
    </div>

    <script src="/jquery-2.2.0.js" type="text/javascript"></script> //加载jQuery文件
    <script type="text/javascript">
        //console.log() 方法的作用是把传入的值在浏览器的console控制台中打印出来
        console.log($(‘#d1‘));                  //查找id为d1的元素
        console.log($(‘span‘));                 //查找元素名称是span的元素
        console.log($(‘.c1‘));                  //查找class=c1(应用了c1类)的元素
        console.log($(‘div,span,p.c1‘));        //查找元素名称是div、sapn和应用了c1类的p标签
        console.log($(‘div input‘));            //查找div下的input元素
        console.log($(‘li:first‘));             //查找所有li元素并只取第一个
        console.log($(‘p:contains("test")‘));   //查找所有包含文本test的p元素
        console.log($(‘input[name="i1"]‘));     //查找所有input元素中name=i1的元素
        console.log($(‘input:text‘));           //查找所有input元素中类型是text的元素
        console.log($(‘input:checked‘));        //查找所有input元素中属性是checked的元素
    </script>
</body>
</html>

2、筛选

例子说明:此例需要一边运行看结果,一边结合代码来看。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格修改</title>
    <style>
        .modal{
            position: fixed;
            left: 50%;
            top: 50%;
            width: 400px;
            height: 300px;
            background-color: #dddddd;
            margin-left: -200px;
            margin-top: -150px;
        }
        .hidden{
            display: none;
        }
    </style>
</head>
<body>
    <div id="dialog" class="modal hidden">  <!--模态对话框,默认是隐藏的-->
        <div style="margin: 10px">
            <form action="" method="get">
                <p>HOST:<input type="text" id="hostname"></p>
                <p>IP:<input type="text" id="ip"></p>
                <p>PORT:<input type="text" id="port"></p>
                <input type="submit" onclick="return GetValue();" value="提交">
                <input type="button" onclick="Cancel();" value="取消">
            </form>
        </div>
    </div>

    <div>
        <table border="1">
            <thead>
                <tr>
                    <th>主机名</th>
                    <th>IP</th>
                    <th>端口</th>
                </tr>
            </thead>
            <tr>
                <td>www</td>
                <td>1.1.1.1</td>
                <td>80</td>
                <td><input type="button" onclick="get_prev(this);" value="编辑"></td>
            </tr>
            <tr>
                <td>bbs</td>
                <td>2.2.2.2</td>
                <td>80</td>
                <td><input type="button" onclick="get_prev(this);" value="编辑"></td>
            </tr>
        </table>
    </div>

    <script type="text/javascript" src="/jquery-2.2.0.js"></script>
    <script type="text/javascript">
        function get_prev(arg){
            var list = [];  //定义一个空数组
            var c = $(arg).parent().siblings();   //找到当前标签的父标签的所有兄弟标签(找叔叔),得到一个数组c
            $.each(c,function(i){   //循环得到的数组c,对每个值都执行以下函数代码块
                var item = $(arg).parent().siblings()[i]; //取出数组c中的每个元素
                var text = $(item).text();  //得到元素的文本内容
                list.push(text);    //把得到的值写入数组中
            });
    
            var newlist = list.reverse();   //反转数组得到一个新数组
            //把数组中的值依次赋予模态对话框中
            $(‘#hostname‘).val(newlist[0]);
            $(‘#ip‘).val(newlist[1]);
            $(‘#port‘).val(newlist[2]);
    
            //去除模态对话框的隐藏样式(这是属性类别中方法)
            $(‘#dialog‘).removeClass(‘hidden‘);
        }

        function Cancel(){
            //找到模态对话框并增加新样式,实现隐藏(这是属性类别中方法)
            $(‘#dialog‘).addClass(‘hidden‘);
        }
    
        function GetValue(){
            var ret = true; //定义一个函数返回值
            var t = $(‘#dialog‘).find(‘:text‘); //找到id为dialog标签下面的所有input类型为text的元素
            $(t).each(function(){   //循环找到的数组(列表)
                var value = $(this).val();  //获取循环到的元素的值(注意是值,不是文本内容)
                if(value.trim().length == 0){   //去除获取到值的空格后判断是否为空
                    $(this).css(‘border-color‘,‘red‘);  //若为空,则改变Input的样式
                    ret = false;
                }
            });
            return ret;    //函数返回值,如果是false,则不允许提交
        }

    </script>
</body>
</html>

3、属性

例子说明:用经典的全选按钮来说明用法。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全选按钮</title>
</head>
<body>
    <div>
        <input type="button" onclick="Select();" value="全选">
        <input type="button" onclick="Reverse();" value="反选">
        <input type="button" onclick="Cancel();" value="不选">
        <table border="1" id="tb1">
            <thead></thead>
            <tbody>
                <tr>
                    <td><input type="checkbox"><b>1</b></td>
                </tr>
                <tr>
                    <td><input type="checkbox"><b>2</b></td>
                </tr>
                <tr>
                    <td><input type="checkbox"><b>3</b></td>
                </tr>
            </tbody>
        </table>
    </div>

    <script type="text/javascript" src="/jquery-2.2.0.js"></script>
    <script type="text/javascript">
        function Select(){
            //$(‘#tb1‘) 找到id为tb1的元素
            //.find(‘:checkbox‘)    该元素下所有类型为checkbox的input元素
            //.prop(‘checked‘,true) 并添加属性checked=true
            $(‘#tb1‘).find(‘:checkbox‘).prop(‘checked‘,true);
        }

        function Reverse(){
            //反选函数的作用是:选中的变成不选中,不选中的变成选中
            $(‘#tb1‘).find(‘:checkbox‘).each(function(){    //找到id为tb1标签下所有的类型为checkbox的元素进行循环
                var content = $(this).next();   //查找被循环元素的下一个元素
                console.log($(content).text()); //获取该元素的文本内容
                if($(this).prop(‘checked‘)){    //判断是否已经选中:this代表的就是正在被循环的元素,获取其checked属性的值
                    $(this).prop(‘checked‘,false);          //为该元素添加属性
                    $(content).text(‘选中的变成不选中‘);    //修改该元素的文本内容
                }else{
                    $(this).prop(‘checked‘,true);
                    $(content).text(‘不选中的变成选中‘);
                }
            })
        }

        function Cancel(){
            $(‘#tb1‘).find(‘:checkbox‘).prop(‘checked‘,false);  //添加属性checked=false,也就是不选中
        }
    </script>
</body>
</html>

4、CSS

例子说明:使用大多数网站都有用到的“回到顶部”按钮来举例。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <h1>这是顶部</h1><input type="button" style="position: fixed;right: 30px;top: 30px" onclick="GoBottom();"  value="返回底部"/>
    <div id="d1" style="height: 2000px;background-color: blue"></div>
    <h1>这是底部</h1><input type="button" style="position: fixed;right: 30px;bottom: 30px" onclick="GoTop();"  value="返回顶部"/>

    <script src="/jquery-2.2.0.js" type="text/javascript"></script>
    <script type="text/javascript">
        /*
        scrollTop用法:
        读取:$("选择器").scrollTop()     //获取当前滚动条距离选择器顶部距离
        设置:$("选择器").scrollTop(1000) //设置滚动条距离选择器顶部距离为1000px;
        其他知识点:
        $(window).height();     //获取当前浏览器可视部分的高度,也就是说在浏览器窗口改变大小时,这个值也会改变;
        $(document).height();   //获取整个页面的高度(包含不可视部分),这个值是固定的,不会随浏览器窗口大小而改变;
         */
         
        function GoTop(){
            $(document).scrollTop(0);     //设置滚动条距离当前页面顶部的距离为0,也就达到返回顶部的效果
            var bcolor = $(‘#d1‘).css(‘background-color‘);  //获取id为d1的元素的background-color样式属性的值
            console.log(bcolor);
            $(‘#d1‘).css(‘background-color‘,‘blue‘);       //设定id为d1的元素的background-color样式属性的值为green
        }

        function GoBottom(){
            var dpx = $(document).height();     //获取当前页面的高度
            var wpx = $(window).height();       //获取当前浏览器窗口的高度
            console.log(dpx);
            console.log(wpx);
            $(window).scrollTop(dpx);           //设置滚动条距离当前页面顶部的距离为当前页面的高度,也就达到返回底部的效果
            $(‘#d1‘).css(‘background-color‘,‘green‘);
        }
    </script>
</body>
</html>
时间: 2024-10-13 10:59:28

HTML基础(jQuery)的相关文章

Web前端基础——jQuery(一)

前几天回老家呆了几天,几乎没有怎么学习新的知识,这期间一直有断断续续的看<Java编程思想>,还刷了一些前沿消息,也算没闲着.今天开始学习jQuery啦,继续前进. 在网上查了,买了这本书.现在是一边搜视频,一边看这本书. 认识jQuery,我将从以下几方面进行讲解. 一.JavaScript和JavaScript库 随着Web 2.0的兴起,JavaScript受重视的程度提高,带动JavaScript程序库也蓬勃发展起来. 过程:Prototype->Dojo->jQuery-

Python 15 html 基础 jQuery &amp; Javascript研究

基础内容 DOM操作 javascript探讨 JQuery初识 DOM innerText  ==>获取仅文本 innerHtml  ==>获取全部内容 1 <div id="aaa">dandy<span>aaa</span>taylor</div> value input value 获取当前标签的值 select 获取选中的value值 selectIndex textarea 获取标签的值 tooltip:  pla

前端基础 jQuery

一 jQuery是什么 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascript框架.其宗旨是——WRITE LESS,DO MORE! 它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments.events.实现动画

基础 - jQuery

 jQuery <!-- jQuery --> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.min.js"></script>

前端基础JQuery

JQuery对象是通过JQquery包装DOM对象后产生的对象.JQuery对象是JQuery独有的.如果一个对象是JQuery对象,那么它就可以使用JQuery中的方法. $("#test").html(); 获取ID为test的元素内的html代码 DOM实现代码:document.getElementById("test").innerHTML; 虽然JQuery对象是DOM对象包装后产生的,但是JQuery无法使用DOM对象的任何方法,同理DOM对象也不能使

基础 - jQuery的下拉菜单

mouseover 和 mouseenter mouseout 和 mouseleave mouseover / mouseout  鼠标进入/走出元素或其子元素时 均可触发 mouseenter / mouseleave 鼠标进入/走出元素才会触发 $().hover(function () { /*mouseenter*/}, function () { /*mouseleave*/}); $().hover(function () { /*mouseenter和mouseleave*/ }

Web前端基础——jQuery(三)

本文主要从以下几方面介绍jQuery应用中的内容: 1 jQuery 节点遍历2 jQuery 中的过滤器3 jQuery 属性操作4 jQuery Dom节点操作5 几个jQuery例子6 jQuery 中的事件7 jQuery 中的动态效果 一. jQuery 节点遍历 == next()   //用于获取节点之后的第一个同辈元素 注意,next() 中可以加过滤器 例如 next("div") == nextAll()  //获取节点之后的所有同辈元素(注意: 是节点之后,这一点

Web前端基础——jQuery(二)

一.jQuery 中的常用函数 1) $.map(Array,fn); 对数组中的每个元素,都用fn进行处理,fn将处理后的结果返回,最后得到一个数组 //因为这些操作,没有与dom元素相关的,所以可以不用写在 $(function(){...}); 中 var arr=[1,3,5,7,9]; arr=$.map(arr,function(item){ return item*10; }); alert(arr); [10,30,50,70,90]; //上例是将数组中的每个元素乘10,然后返

前端基础---jquery练习

左侧菜单 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>left_menu</title>     <style>           .menu{               height: 500px;               width: 20%;         

前端基础-jQuery中的如何操作标签

阅读目录 样式操作 文本操作 属性操作 文档操作 一.样式操作 1.样式类 addClass();// 添加指定的CSS类名. removeClass();// 移除指定的CSS类名. hasClass();// 判断样式存不存在 toggleClass();// 切换CSS类名,如果有就移除,如果没有就添加. ①.addClass( className )方法: 通过动态改变类名(class),可以让其修改元素呈现出不同的效果.在HTML结构中里,多个class以空格分隔,当一个节点(或称为一