当前位置: 首页 > 后端技术 > Python

Python前端jQuery进阶

时间:2023-03-26 16:56:40 Python

知识点预览1、jQuery事件冒泡2、事件委托3、元素节点操作4、正则表达式与表单验证实例01-提交事件【AppleScript】纯文本视图__复制代码?123456/`/`监听提交的事件$`("form").submit(function``(abc`){/`/`防止系统的默认行为/`/abc.preventDefault()`;returnfalse`;`}`)`——事件冒泡的原理是在对象上触发某种类型的事件(比如点击onclick事件)。如果对象为此事件定义了处理程序,则此事件将调用该处理程序。如果没有定义这个事件处理程序或者事件返回true,那么这个事件就会传播到这个对象的父对象,从内到外,直到它被处理(父对象的所有类似事件都会被激活),或者它到达对象层的最顶层,即文档对象(有的浏览器是window)。事件冒泡验证事件传递:child-->parent-->grandfather-->window冒泡:父元素有相同的event事件冒泡机制有时不需要,需要通过event.stopPropagation()进行阻塞,防止合并:返回假;它可以防止冒泡和事件的默认行为。Bubble隐藏点击关闭按钮时的提示框,单独实现,因为parent是防止冒泡的如果parent和child有相同的事件,同一个事件的功能是一样的,只能给parent添加事件,减少添加绑定事件的数量,减少代码量,提高性能效率。缺点:如果父子有同一个事件,但是同一个事件的函数不同时,需要防止冒泡。06-事件委托事件委托是利用冒泡的原理向父级添加事件,通过判断事件源的子集来执行相应的操作。减少事件绑定的数量,提高性能;其次,新添加的子元素也可以有相同的操作。事件委托的优点:1.减少事件绑定的数量,减少代码量2.新添加的子元素也可以正常执行事件=$('

');//```空节点/`空标签var$div`2=$('
这是一个div元素
')`;insertnode1,在现有元素内部,从后面插入元素Existingelement.append('insertedelement')Insertedelement.appendTo('Existingelement')2.在现有元素内部,从前面插入元素Existingelement.prepend('insertelement')insertedelement.prependTo('existingelement')3、在现有元素外,从现有元素后面插入元素。after('insertedelement')insertedelement.insertAfter('existingelement')4、在现有元素外,从前面插入一个元素Existingelement.before('insertedelement')Insertedelement.insertBefore('Existingelement')Deletenode[AppleScript]Plaintextview__Copycode?1$`('#div1').remove();`TODOListcase1.获取元素2.判断是否为空3.添加新内容到列表4.删除上移下移5.判断到首尾**09-定期复习***1.什么是正则表达式:*计算机可以读取的字符串匹配规则。2.正则表达式的写法:*\[AppleScript\]_纯文本查看__复制代码_[?](http://bbs.iheima.com/#)12`varre``=``new``RegExp``(``'rule'``,``'optionalparameter'``)``;``varre``=``/``rule``/``parameter;`*ruleCharactersin*\[AppleScript\]_纯文本查看__复制代码_[?](http://bbs.itheima.com/#)0102030405060708091011121314151617`1``)普通字符匹配:如:``/``a``/``匹配字符'a',``/``a``,``b``/``matchesCharacters'a``,``b'``2``)escapecharactermatching:``\d匹配一个数字,即``0``-9``\D匹配一个非数字,也就是说,除了``0``-9``\w匹配一个单词字符(字母、数字、下划线)``\W匹配任何非单词字符相当于A``-``Za``-``z``0``-9``_``\s匹配一个空白字符``\S匹配一个非空白字符``\b匹配一个单词boundary``\B匹配非单词边界``.匹配任何字符``varsTr``01``=``'``123456``asdf';``varre``01``=``/``\d``+``/``;``/``/``匹配纯数字字符串``varre``02``=``/``^``\d``+``$``/``;``alert``(``re``01.``test``(``sTr``01``)``)``;``/``/``弹出``true``alert``(``re``02.``test``(``sTr``01``)``)``;``/``/``popup``false`*4.量词:定义左边匹配字符的个数*\[AppleScript\]_纯文本查看__复制代码_[?](http://bbs.itheima.com/#)123456`?零次或一次(最多一次)``"+"`一次或多次(至少一次)``"*"`零次或多次(任意数量)``{``n``}``出现n次``{``n``,``m``}``出现n到m次``{``n``,``}``至少n次`*,任何一个或range*\[AppleScript\]_plaintextview__copycode_[?](http://bbs.itheima.com/#)1`xxxxxxxxxx[abc``123``]``:``匹配'abc`中的任意字符`123``'[a``-``z``0``-9``]``:``匹配a到z或`从`0``到``9``的任何字符*限制beginning和end*^以下一个元素开始$以下一个元素结束*修改参数:*\[AppleScript\]_纯文本视图__复制代码_[?](http://bbs.itheima.com/#)12`g:``global``,全文搜索,默认搜索第一个结果停止``i:ingore``case``,忽略大小写,默认区分大小写`*8.常用函数*\[AppleScript\]_纯文本视图__复制代码_[?](http://bbs.iheima.com/#)01020304050607080910111213141516`1``、test``用法:regular.test``(``string``)``匹配成功则返回true,否则返回false``2``,replace``Usage:String.replace``(``Regular,newstring``)``匹配成功的字符替换为新的字符``regulardefaultrules``匹配成功结束,不会继续匹配,区分大小写``varsTr``01``=``'abcdefedcbaCef';``varre``01``=``/``c``/``;``varre``02``=``/``c``/``g;``varre``03``=``/``c``/``gi;``varsTr``02``=``sTr``01.``replace``(``re``01``,``'``*``'``)``;``varsTr``03``=``sTr``01.``replace``(``re``02``,``'``*``'``)``;``varsTr``04``=``sTr``01.``replace``(``re``03``,``'``*``'``)``;``alert``(``sTr``02``)``;``/``/``popupab``*``defedcbaCef``alert``(``sTr``03``)``;``/``/``popupab``*``defed``*``baCef``alert``(``sTr``04``)``;``/``/``popupab``*``defed``*``ba``*``ef`*常用规则*\[AppleScript\]_纯文本查看__复制代码_[?](http://bbs.itheima.com/#)12345678`/``/``用户名验证:``(``数字字母或下划线``6``到``20``位``)``varreUser``=``/``^``\w``{``6``,``20``}``$``/``;``/``/``邮箱验证:``varreMail``=``/``^``[a``-``z``0``-9``][\w\.\``-``]``*``@[a``-``z``0``-9``\``-``]``+``(``\.[a``-``z]``{``2``,``5``}``)``{``1``,``2``}``$``/``i;``/``/``密码验证:``varrePass``=``/``^``[\w!@``#$%^&*]{6,20}$/;``/``/``手机号验证:``varrePhone``=``/``^``1``[``34578``]\d``{``9``}``$``/``;`***\-注册表验证***提示内容*xx不能为空!*用户名只能是6到20个字母数字字符,包括“\_”*密码只能是6到20个字母数字字符,还包括“\_!@#$%^&\*”字符*两次输入的密码不一致!*您输入的邮箱格式不正确1.判断输入是否为空,如果为空则不能为空并提示2.如果不为空则使用正则匹配的输入是否符合规则*3.密码确认,只需要判断两个密码是否相同*4.点击文本输入框即可隐藏提示*5.单选框的判断*js写法:radioboxlabelobject.checked==truejQuery写法:单选框标签object.is(:checked)==true*6.定义一个bool变量记录输入是否正确。注意单选框默认是勾选的,所以用来判断它的变量默认值必须能通过判断*所有输入都正确才能提交数据