JavaWeb二 js + jQuery



在head 中插入  script  标签  <script></script>




一条script语句只能执行一次script动作

3、变量  定义用 var

判断变量的类型------typeof(var)








            



有假返第一个假,无假返b

有真返第一个真,无真返b


数组赋值,会自动扩容,数组最大下标+1就是长度,中间空的元素undefined


  function标识符定义函数


有参


带返回值的函数



 直接固定名function(){},赋值给变量,var fun


alert() 输出 和 println()相同



js不允许函数重载
       
下边函数同名的会覆盖上面的

当有参被无参覆盖后,还是可以传参数--------- -隐形参数





无参函数形参存在一个隐形的参数-----------------arguments(数组)




  



 
静态注册:直接在所需要的标签中使用,直接调用head中静态函数
      

onload事件                            -------------页面加载完成后,常用于页面js代码初始化操作
 

在head中创建函数,在body中的onload事件中使用

动态注册  onload  事件-----直接在head中使用赋值自定义函数
在head中用赋值function函数



onclick单击事件              ------------------常用于按钮点击响应

静态注册onclick事件
          在<script>中创建点击函数
          在<button>中onclick属性使用该点击函数

动态注册onclick事件
         
获取标签对象
          通过标签对象 事件名 = function(){};   -------  动态注册

         
         



onblur失去焦点事件         --------常用于输入框失去焦点后验证输入内容是否合法


失去焦点事件+校验

1. 获取标签对象 username、usernamespan
2. 创建正则表达式判断规则
3. 正则表达式test判断标签对象username值value
4. 通过标签对象usernamespan . innerHTNL返回标签之间HTML


 

onchange内容发生改变事件            --------------常用于下拉列表和输入框内容发生改变后操作

静态注册



动态注册


onsubmit表单提交事件



 











操作标签,就需要先获取标签,Document.get...by...获取标签对象,通过对象调用属性等


 

 

GetElementById()

 

通过按钮校验用户名输入是否合法,用alert返回警告

1. 先要注册按钮  onclick  事件(静态注册)
            创建onclickFun函数
2. 通过  id  获取用户名文本输入标签,得到标签对象
            调用标签对象的value------(输入的用户名),
            自定义正则表达式-----------用户名检验规则             
            将value用正则表达式的text()方法检验------判断用户名是否符合要求
            在text()检验结果为真处,用alert返回警告
            在text()检验结果为假处,用alert返回警告

 




 

 



 

正则表达式regrexp

 



     /\w/  是最常用的




  
前后加  ^  和  $ ,意味着从头到尾必须都是以 a 类型开头,结尾    至少3个连续,最多5个连续




 

通过校验输入文本是否合法,通过span域返回警告
 

 

1. 先要注册按钮  onclick  事件(静态注册)
            创建onclickFun函数
2. 通过  id  获取用户名文本输入标签,得到标签对象
            调用标签对象的value------(输入的用户名),
            自定义正则表达式-----------用户名检验规则             
            将value用正则表达式的text()方法检验------判断用户名是否符合要求
3.通过  id  获取span标签,得到标签对象
            在text()检验结果为真处,将警告赋值给对象的innerHTML(标签之间的文本)
            在text()检验结果为假处,将警告赋值给对象的innerHTML(标签之间的文本)

 


操作span标签的起始结束标签之间的文本---------获取该标签
 
通过设置获取的标签对象的标签之间的文本innerHTML,返回警告


 

GetElementsByName()

获取多个,name相同的标签



 

getElementByTagName


 


该语句在页面还没加载完全就输出,没有值

放在window.onload = function(){}中,就是等页面加载完才执行

放在onclick函数里面,当按按钮时,页面就已经读取完了

 


取内容---都要,取文本---只要文字





















 


创建文本子节点

 



导入jQuery类库

用js实现获取标签


用jQuery实现---获取标签


 







---------获取标签


             
--------按标签名查



      



        




Dom对象是通过id获取(查询)标签,.innerHTML设置标签之间文本
jQuery对象通过$()中放入ID选择器,查询标签对象

 

jQuery对象$obj  ===  Dom的数组+jQuery提供的功能函数
所以jQuery对象通过数组下标可以去除DOM对象

 





Dom ==>  jQuery

jQuery ==> Dom

 


$(document).ready(function(){
             
});
简写:
$(function($){

});
其中的jQuery代码都是表示页面加载后执行的






 








 


$("form input")-------form  里面所有的-----input
$("form>input")------form  后面所有的-----子inoput
$("label + input")
----所有label  后面紧接着的------input
$("form ~ input")----form  后面所有的-----input


---------------------------------------------------------------------
$("form input")


                              

---------------------------------------------
$("form>input")

                            

---------------------------------------------------
$("label + input")



                

-------------------------------------------------
$("form ~input")


                      

 


$("body div")        body内      所有div
$("body>div")       body内      所有子div

$("#one+div")       id为one标签外(之后)        下一个
$("#div+span")     所有div标签外(之后)         下一个span标签
$("#two~div")       id为two标签外(之后)         所有同级标签



选择器选出的标签对象,通过 . css()   或者 .style.color="blue"





                   
                             
                   
      

                                             
                           
   
                                                 

                                 
                                                       
    
                            








    
                                 
                              

     只要没有disabled           
 只要有disabled           
               
       


 

通过:checkbox过滤后,还可以通过其他属性过滤
    通过 :checkbox 过滤再通过 [name='值'] 过滤,再通过 :checked 过滤
 





 

 

    获取第二个p标签结果
        获取第一个li标签       结果
         获取最后一个li标签    结果
  

              input type为checkbox的父元素,是否为form
          返回含有span的div
    删除所有p中id=selected的标签
  获取所有div的所有子标签
     
            
             结果     给第一个div后面所有div加上class

          
      所有p标签的父元素集合
                                                                                               所有p标签的父元素中class为selected
      找到所有p前一个元素的集合
 找到最后div前面所有div,加上class

             
追加span对象给div集合

 









html()

text()

val()
通过  .val( ) 操作文本框输出---只需输入“”字符串  

 

表单项的value操作     .val( [ " value值 " ] );    通过value值操作指定的

通过表单过滤器   :radio 获取多个表单,通过  .val( [ " value值 " ] );


通过表单过滤器   :checkbox 获取多个表单,通过  .val(["value值","value值”]);

同时操作单选、多选、下拉框多选、下拉框单选的选中状态(顺序没有影响)

 


attr()  可以获取自定义的值

都不选中-------------prop()修饰选中与否更直观-------prop()可以操作未定义checked的多选框的选中

全选/全不选提交球类案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../03jQuery/jquery-3.5.1.js"></script>
    <script type="text/javascript">
        $(function () {
            // 【全选】绑定单击事件
            $("#checkedAllBtn").click(function () {
                $(":checkbox").prop("checked",true);
            });
            // 【全不选】绑定单击事件
            $("#checkedNotBtn").click(function () {
                $(":checkbox").prop("checked",false);
            });
            // 【反选】绑定单击事件
            $("#checkedRevBtn").click(function () {
                // 通过:checkbox和name筛选,再遍历
                $(":checkbox[name='items']").each(function () {
                    //操作的是选中状态checked
                    this.checked=!this.checked;
                });

                // 检查是否满选
                // 获取全部球类个数
                var length = $(":checkbox[name='items']").length;
                //再获取选中的个数:checked 属性筛选,得到已经选中的
                var length1 = $(":checkbox[name='items']:checked").length;
                $("#checkedAllBox").prop("checked",length==length1);

                /*if(length==length1){
                    $("#checkedAllBox").prop("checked",true)
                }else {
                    $("#checkedAllBox").prop("checked",false)
                }*/
            });
            // 【提交】
            $("#sendBtn").click(function () {
                $(":checkbox[name='items']:checked").each(function () {
                    alert(this.value)
                })
            });

            // 给【全选/全不选】绑定单击事件
            $("#checkedAllBox").click(function () {
                // 获取该单选的选取状态,this表示正在响应的dom对象
                // alert(this.checked);
                // 获取四个球类的dom对象
                $(":checkbox[name='items']").prop("checked",this.checked);
            });

            // 给【每个球类】绑定单选事件,不满足满选时,全选也会取消
            $(":checkbox[name='items']").click(function () {
                // 检查是否满选
                // 获取全部球类个数
                var length = $(":checkbox[name='items']").length;
                //再获取选中的个数:checked 属性筛选,得到已经选中的
                var length1 = $(":checkbox[name='items']:checked").length;
                $("#checkedAllBox").prop("checked",length==length1);
            });
        })
    </script>
</head>
<body>
    <form method="post" action="http://localhost:8080">
        你喜欢的运动?<input type="checkbox" id="checkedAllBox"/>全选/全不选
        <br/>
        <input type="checkbox" name="items" value="足球"/>足球
        <input type="checkbox" name="items" value="篮球"/>篮球
        <input type="checkbox" name="items" value="羽毛球"/>羽毛球
        <input type="checkbox" name="items" value="乒乓球"/>乒乓球
        <br/>
        <input type="button" id="checkedAllBtn" value="全  选"/>
        <input type="button" id="checkedNotBtn" value="全不选"/>
        <input type="button" id="checkedRevBtn" value="反  选"/>
        <input type="submit" id="sendBtn" value="提  交"/>
    </form>
</body>
</html>


​

​


 



内部插入

                        把<h1> 插入到div里面最后一个
                  把<h1> 插入到div里面第一个
外部插入

               把<h1> 插入到div后面
                  把<h1> 插入到div前面
替换

          用<h1> 替换 div  
                用<h1>替换所有div
删除


                       删除所有div
                         删除所有div中的文本

 

 

 

动态添加删除行记录

​
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="css.css">
    <script src="../03jQuery/jquery-3.5.1.js"></script>
    <script type="text/javascript">
        $(function () {

            // 创建一个删除复用函数
            var deleted = function(){
                // this 表示在事件响应的function函数中,正在响应的dom对象
                // 此时this为a标签,取两次父元素---行元素---再remove()
                var $trObj = $(this).parent().parent();

                var name = $trObj.find("td:first").text();

                /*confirm是JavaScript提供的确认提示函数,传什么提示什么
                * 当用户点击确定,返回true,点击取消,返回false
                * */
                if (confirm("你确定要删除["+name+"]吗?")){
                    // 行对象 . remove()
                    $trObj.remove();
                }
                // return false 可以阻止元素的默认行为
                return false;
            };

            // 给【删除】绑定点击事件
            /*特别强调:该点击事件中,直接传入deleted函数就行
            否则,this会出错*/
            $("a").click(deleted);

            // 给【submit】绑定单击事件
            $("#addEmpButton").click(function () {
                // 获取输入框姓名、邮箱、工资内容
                var name = $('#empName').val();
                var email = $("#email").val();
                var salary = $("#salary").val();

                // 创建一个行标签对象,添加到显示数据的表格中去
                var $trObj = $("<tr>" +
                        "<td>"+name+"</td>" +
                        "<td>"+email+"</td>" +
                        "<td>"+salary+"</td>" +
                        "<td><a href=\"deleteEmp?id=001\">Delete</a></td>" +
                        "</tr>");

                // 添加到显示数据的表格中
                $trObj.appendTo($("#employeeTable"));

                // 给【新添加的行a标签】绑定点击事件
                $trObj.find("a").click(deleted);
            });

        });
    </script>
</head>
<body>
    <table id="employeeTable" border="1" cellspacing="0">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th></th>
        </tr>
        <tr>
            <td>Tom</td>
            <td>tom@tom.com</td>
            <td>5000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Jerry</td>
            <td>jerry@sohu.com</td>
            <td>8000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>bob@tom.com</td>
            <td>10000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
    </table>

    <div id="formDiv" style="border: 1px solid black; width: 300px; ">
        <h4>添加新员工</h4>

        <table>
            <tr>
                <td class="word">name:</td>
                <td class="inp">
                    <input type="text" name="empName" id="empName"/>
                </td>
            </tr>
            <tr>
                <td class="word">email:</td>
                <td class="inp">
                    <input type="text" name="email" id="email"/>
                </td>
            </tr>
            <tr>
                <td class="word">salary:</td>
                <td class="inp">
                    <input type="text" name="salary" id="salary"/>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <button id="addEmpButton" value="abc">
                        Submit
                    </button>
                </td>
            </tr>
        </table>
    </div>
</body>
</html>

​

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值