得到一堆元素中的某个 比如有堆按钮但是你不想写ID 和 Class可以选择下面方法
$("button" ).eq (0 ).click (function ( ){ alert ("增加" ); });
界面刷新 得到div的高度包含内外边距 var cf=$("#bk" ).outerHeight (true );
判断用户是否有互联网 有返回1
if (navigator.onLine ){ alert (1 ); }else { alert (0 ); }
添加元素 append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 $("p" ).append("你好" ); $("p" ).append("<h1>你好2</h1>" ) $("p" ).prepend("数据包" ); $("p" ).prepend("<h1>数据包2</h1>" ) $("p" ).after("你好" ); $("p" ).before("你好" );
jquer设置属性 $("标签" ).attr ("属性" ,"值" ) 列:按钮禁用 $("#login" ).attr ("disabled" ,true ) $("#tp" ).attr ("src" ,"1.webp" ) var val=$("a" ).attr ("price" );
定义数组和遍历 function fn2 ( ){ var c=["中国" ,"米国" ,"德国" ,"法国" ]; for (var i=0 ;i<c.length ;i++){ alert (c[i]) } }
数组foreach遍历 function fn2 ( ){ var c=["中国" ,"米国" ,"德国" ,"法国" ]; for (var i=0 ;i<c.length ;i++){ alert (c[i]) } var ch=[4 ,7 ,8 ,9 ,7 ]; ch.forEach (fn3); } function fn3 (value ){ alert (value) }
id选择器 document .getElementById ("ID" )function fn1 ( ){ var obj=document .getElementById ("p1" ); obj.innerText ="西门庆" } function fn2 ( ){ var bt=document .getElementById ("btn1" ); var valu=bt.value ; if (valu=="开门" ){ bt.value ="关门" ; }else { bt.setAttribute ("value" ,"开门" ); } }
执行点击按钮 DOM 一、eval 函数 eval ('字符串' ); 字符串编程JS 代码 一、获取html元素 1 、根据ID 获取元素(单个元素) 标签必须有id值 document .getElementById ("id值" ); 2 、根据name获取元素:(获取多个元素) var arr=document .getElementsByName ("name值" ); 取出某个元素 arr[0 ] 第一个元素 3 、根据标签获取元素 document .getElementsByTagName ("标签" ); 获取所有p标签 document .getElementsByTagName ("p" ); 4 、根据class 属性 document .getElementsByClassName ("class值" ) 二、操作html常用属性和函数 函数语法:html对象.函数名(); 属性语法:html对象.属性名; var a=document .getElementById ("d1" ); 1 、获取设置某值:表单元素有属性value a.value 获取选中单选按钮值 a.checked 判断是否等于true 2 、获取某个属性 a.getAttribute ("属性名" ); 根据不同id显示不同样式 3 、设置某个属性 a.setAttribute ("属性名" ,"值" ); 变色字体设置 4 、设置样式 a.style .样式属性名="样式值" a.style .color ="red" ; 设置单个样式 a.setAttribute ("style" ,"color:red;padding:5px;" ); 5 、移除属性 a.removeAttribute ("属性名" ); 6 、设置CSS 样式名 a.className ="class值" ; class 样式切换 注:必须先准备类样式 7 、设置获取文字 a.innerText ="值" 8 、设置获取html代码 a.innerHTML ="html代码" 设置多个div间隔添加html 9 、显示隐藏 style中样式 display :block 显示 display :none 隐藏 表单验证提示 事件: onmouseover :鼠标移入事件 onmouseout :鼠标移出事件 onfocus :获得光标 onblur:失去光标
/*通过标签名查找元素 改变 Css样式 前提需要先把Css样式写好 如 Class类选择器 调用试使用 className=“css类的名称” 进行作用的样式
*/
function fn4 ( ){ var c=document .getElementsByTagName ("li" ); for (var i=0 ;i<c.length ;i++){ var oj=c[i]; oj.className ="myli" ; } }
尺寸 width () 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。height () 方法设置或返回元素的高度(不包括内边距、边框或外边距)。var wid= $("body" ).width ();var heg=$("body" ).height ();innerWidth () 方法返回元素的宽度(包括内边距)。innerHeight () 方法返回元素的高度(包括内边距)。var inw=$("#d1" ).innerHeight ();var inh=$("#d1" ).innerWidth ();outerWidth () 方法返回元素的宽度(包括内边距和边框)。outerWidth () 方法返回元素的宽度(包括内边距和边框)。var ot=$("#d1" ).outerHeight ();var otr=$("#d1" ).outerWidth ();outerWidth (true ) 方法返回元素的宽度(包括内边距和边框 外边距)。outerWidth (true ) 方法返回元素的宽度(包括内边距和边框 外边距)。var ottr=$("#d1" ).outerHeight (true ); var otth=$("#d1" ).outerWidth (true );var w=screen.width ; 获取屏幕宽度var h=screen.height ; 获取屏幕高度
location.href ="跳转页面" ; 跳转到指定的网页
跳转到一个servlet location.href ="servlet类名" ; location.href ="OrderServlet" ;
错误消息 else {request.setAttribute ("errpr" ,"账号或密码错误!" )},request.getRequestDispatcher ("原来页面" ).forward (request, response);
页面前进回退 history.back ()后退 history.forward ()前进
在本页面打开一个小窗口 window .open ('index3.jsp' , 'index' ,'top=100,left=100,width=500,height=200,scrollbars=no,toolbar=no,location=no' );
当加载完这页面执行 JQueryBasic 导入外部文件 必须把JQuery 引入的放到第一 <script src="js/jquery-1.10.2.js" ></script>
当文档中的元素加载完毕之后 执行函数 $(document ).ready (function ( ){ alert ("我是JQuery 欢迎使用!" ) }); $(function ( ){ var div2=document .getElementById ("d1" ); div2.innerHTML ="<h1>good morning</h1>" ; })
id选择器 $("#ID名称" ) 接收时需要加$ 列: function fn1 ( ){ var $t=$("#d1" ); $t.html ("<h1>中国</h1>" ); $("#d1" ).html ("<h1>中国</h1>" ); html=innerHTML }
标签选择器 $("标签名" ) 获取标签为li的 $(this ) 代表本身 设置CSS 样式 $("标签名" ).css ("样式名" ,"参数" ) mouseover鼠标移入的时候 mouseout鼠标移出 mouseover (function ( ){ 需要执行的事件 })
链式编程 $("li" ).css ("color" , "pink" ).css ("font-size" ,"30px" ).css ("background-color" ,"black" ).mouseover (function ( ){ $(this ).css ("background-color" ,"red" ) }).mouseout (function ( ){ $(this ).css ("background-color" ,"blue" ) });
类选择器 $(".class" ) $(".类名" ) 获取类名为 .calss $(function ( ){ $("#btn1" ).click (function ( ){ $(".mp" ).css ("color" ,"pink" ) }) })
找所有标签 JQuery DOM节点 当加载完这页面执行 $(function ( ){ }) $("#d1" ).text (data); $("ul:first li:even" ) even :偶数 $("ul:first li:odd" ) odd :奇数 $("ul:first" ) ul标签的第一个 first第一个 $("li" ).eq (2 ).css ("font-size" ,"40px" ); $("ul:first li" ) 第一个ul下的li标签 $("ul:last li" ) $("ul:first li" ).css ({"font-size" :"40px" ,"background-color" :"pink" }) 样式数组写法 $(".c1" ).val (); $(".c1" ).val ("值" )
窗口滚动事件 $("div" ).scroll(function(){ $("span" ).text(x+=1 ); });
离开页面事件 $(window).unload(function(){ alert("Goodbye!" ); });
/ on /单击事件 第一个执行事件的名称 第二是具体的代码 function ( ){代码} $(".d1" ).on ("click" ,function ( ){ })
on == bind 方法相同 / bind /单击事件 第一个执行事件的名称 第二是具体的代码 function ( ){代码} $(".d1" ).bind ("click" ,function ( ){ })
bind多个事件 $(".d1" ).bind ("事件名称1" : function ( ){},"事件名称2" :function ( ){},......)
祖先 (父元素) var obj=$("ul" ).parent(); var enj=$("ul" ).parents(); var qu=$("ul" ).parentsUntil("body" ); console.log(enj);
后代(子元素) var zdv=$("div" ).children(); console.log(zdv); var nj=$("ul" ).children(".lk" ); console.log(nj); var fint=$("div" ).find("span" ); console.log(fint); var fiall=$("div" ).find("*" );
each遍历 tbys.each(function(){ console.log($(this )) }) tbys.each(function(index,ele){ console.log(index+"--" +$(ele).html()); })
查找同胞元素 var tbys=$("li" ).siblings(); var next=$(".lk" ).next(); console.log(next.text()) var nexall=$(".lk" ).nextAll(); var h=$(".lk" ).nextUntil("li" ); var up1=$(".lk" ).prev(); var up2=$(".lk" ).prevAll(); var up3=$(".lk" ).prevUntil("li" );
Filter过滤 not过滤 //这里是a的类 .d1 然后
<tr><td > 桌子</td > <td > 3000</td > <td > <a href ="#" > 编辑</a > <a href ="#" class ="d1" > 删除</a > </td > </tr> $(".c1" ).parents ("tr" );
添加一个样式 bk是一个.css的样式 在style中写出来 如: <style> .bk { background-color :red; } </style> $(this ).addClass ("bk" );
移掉一个CSS样式 $(this ).removeClass ("css样式名" ) 如("bk" );
获取焦点 focus 获取焦点 $("input:first" ).focus (function ( ){ $(this ).val ("" ); })
键盘事件得到用户按的 $("input" ).keypress (function ( ){ var k=event.keyCode ; alert (k); })
失去焦点 $("input:first" ).blur (function ( ){ 代码 })
删除元素 $("#d1" ).remove(); $("#d1" ).empty(); $("#d1 h1" ).remove("#cf" );
表单提交触发事件 $("form" ).submit (function ( ){ alert ("提交" ); });
为空不能提交required <form action="https://www.baidu.com/s" method="GET" > <input type ="text" name ="wd" id ="in1" required > <input type ="submit" value ="提交" /> </form >
属性选择器 $("[name='username']" ); name是属性名称=属性名称 $("[price]" ).css ("font-size" ,"100px" ); $("li[price!='3000']" ).css ("font-size" ,"100px" );
表单选择器 $(":button" ).css("background-color" ,"pink" );
load() 加载方法 $(selector).load(URL,data,callback);
必需的 URL 参数规定您希望加载的 URL。 可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。
可选的 callback 参数是 load() 方法完成后所执行的函数名称。
实例 加载一个jsp $(function(){ $("#d1" ).load("Tes.jsp" ,function(responseTxt,statusTxt,xhr){ if (statusTxt=="success" ){ alert("加载成功!" ); }else { alert("加载失败!" ); } }) })
请求传参数
$(function(){ $("#d1" ).load("http://47.101.177.78/H5APP2/AppServlet/logine" ,{"na" :"admin" ,"pa" :"admin" },function(data){ alert(data); }) })
无返回
$(".right" ).load("Tes.jsp" );
AJAX 匿名函数的参数随便命名
ajax的get请求 function 回调函数 data是指服务器响应的信息$.get ("url地址" ,function (data ){ alert (data) })
get请求 $(function(){ $("#bt1" ).click(function(){ $.get("http://47.101.177.78/H5APP2/AppServlet/logine" ,{"na" :"admin" ,"pa" :"admin" },function(data){ if (data=="sucg" ){ $("#d1" ).html("<h1 style='font-size:40px'>用户登入成功!</h1>" ) }else { $("#d1" ).html("<h1 style='font-size:40px'>用户登入失败!</h1>" ) } }); }) })
ajax的post请求 $.post ("url地址" ,{数据1 名称:数据1 的值,数据2 名称:数据2 的值....},function (data) ){ alert (data) } 列题: function del (id ){ if (confirm ("确认删除嘛?" )){ $.post ("CarServlet" ,{"type" :"del" ,"id" :id},function (data ){ alert ("删除成功!" ); showall (); }) } }
列:
$.post ("servlet" ,{"type" :"edit" ,"id" :id,"cna" :cname,"cum" :cnumber,"co" :color},function (ed ){ if (ed=="u3" ){ var ii = layer.load (); setTimeout (function ( ){ layer.close (ii); }, 500 ); layer.closeAll (function ( ){ layer.msg ("编辑成功!" ); cx (); }); } });
Ajax请求 $("#bt2" ).click(function(){ $.ajax({url:"http://47.101.177.78/H5APP2/AppServlet/reguser" ,data:{"na" :"test" ,"pa" :"test" },success:function(res){ if (res=="resucg" ){ $("#d2" ).html("<h1 style='font-size:40px'>用户注册成功!</h1>" ) }else { $("#d2" ).html("<h1 style='font-size:40px'>用户注册失败!</h1>" ) } }}); })
json 更小更快 更容易解析
json 支持数组 逻辑值 对象
json例 var obj={ "name" : "提莫" , "age" : 18 , "bag" : [ "戒指" , "红药" , "眼" ] , "gender" : true , "gf" : { "name" : "安妮" , "age" : 16 , "addr" : "湖南长沙" } } console.log(obj.bag[ 1 ] ); console.log(obj.name); console.log(obj.age); console.log(obj.gender); console.log(obj.gf.name); var police={ "name" : "雅迪" , "hp" : 1000 , "bag" : [ { "name" : "军刀" , "price" : 2 } , { "name" : "沙漠之鹰" , "price" : 20 } , { "name" : "AK47" , "price" : 25 } ] } console.log(police.name); console.log(police.hp); console.log(police.bag[ 1 ] .name); console.log(police.bag[ 1 ] .price); for(var i=0 ;i<police.bag.length;i++){ var c=police.bag[ i] ; console.log(c.name); console.log(c.price); } police.bag.forEach( wp=>{ console.log(wp.name); } ) var test={ "name" : "temo" , "age" : 18 } var test2=JSON.stringify(test); console.log(test); console.log(test2); var h='{ "name" : "temo" , "age" : 18 } '; var t=JSON.parse(h); console.log(t.name); json使用时导入6 个包
如何将一个对象数组转换成json字符串 创建一个类为book 定义属性 然后放到list集合中 Book b1=new Book(); b1.setId(909 ); b1.setName("七星剑" ); b1.setPrice(45 ); Book b2=new Book(); b2.setId(667 ); b2.setName("古龙香" ); b2.setPrice(89 ); List<Book> listbook=new ArrayList<Book>(); listbook.add(b1); listbook.add(b2); String j="{\"name\":\"天地会\",\"id\":235}" ; String c="秦朝" ; JSONArray array=JSONArray.fromObject(listbook); String jsonstr1=array.toString(); System.out.println(jsonstr1);
封装一个方法来转换成json字符串 public static String ToJson (List list) { JSONArray ja=JSONArray.fromObject(list); return ja.toString(); }
将json转换成字符串 function getbook ( ){ $.get ("类servlet" ,function (data ){ var books=JSON .parse (data); for (var i=0 ;i<books.length ;i++){ var obj=books[i]; document .write (obj.id +"--" +obj.name +"---" +obj.price +"<br>" ); } }) } 列: function getbook ( ){ $.get ("BookServlet" ,function (data ){ $("#d1" ).text (data); var books=JSON .parse (data); for (var i=0 ;i<books.length ;i++){ var obj=books[i]; document .write (obj.id +"--" +obj.name +"---" +obj.price +"<br>" ) } }) }
移掉某一行 $(this ).parents ("tr" ).remove ()
刷新页面 location.href = location.href ;
判断复选框是否被选中 选中为true 未选择为false var st=$("#chk1" ).is (":checked" );
得到选中的内容 var chlist=$("[name='ckcar']" ); var idstr="" ; for (var i=0 ;i<chlist.length ;i++){ var cf=chlist[i].checked ; if (cf==true ){ var id=(chlist[i].value ); idstr+=id+"," ; } }
复选框为选中 $("[name='ckcar']" ).prop ("checked" ,true );
复选框不选中 $("[name='ckcar']" ).removeAttr ("checked" ,false );
PrintWriter out=response.getWriter(); out.println("hello 你好!" ); out.flush(); out.close();
httpAJAX AJAX是一种无需重新加载整个网页的情况下 能够更新部分网页的技术
<a href ="xxx" > <form action ="xxx" > js: form.submit(); //考试系统 倒计时使用
特点:整个页面变化
网页如何接收 响应消息
响应文本-- responseText 一个事件 onreadystatechange 网页如何发消息给服务器 cf.send (值); post请求 var myname=document .querySelector ("#name" ).value ; cf.open ("get" ,"AjaxServlet?name=" +myname,true ); cf.send (); --get请求发送数据 var xm=new XMLHttpRequest ();function co ( ){xm.open ("请求方式" ,"请求的地址" ,"true/false" ) xm.send () } xm.onreadystatechange =function ( ){ if (cf.readyState ==4 && cf.status ==200 ){ } } upn.innerHTML =http.responseText ;--响应文本
post请求发送数据 cf.open ("post" ,"AjaxServlet" ,true ); cf.setRequestHeader ("Content-type" ,"application/x-www-form-urlencoded" ); cf.send ("na=" +myname); --- ajax02 AJAX 返回复杂的数据时???ajax json对象 BbcDaoimpl imp=new BbcDaoimpl (); Gson gs=new Gson (); protected void sere (HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException , SQLException { response.setContentType ("text/html;charset=UTF-8" ); List list=imp.sere (); String json=gs.toJson (list); response.getWriter ().write (json); } string转json -- JSON .parse (值) String json=gs.toJson (list);
下拉框改变时 下拉框改变时 元素值发生改变时 onchange="chang()" 删除行 deleteRow (下标)
计算当前时间到指定时间的秒数 计算当前时间到指定时间的秒数 Date da=new Date (); long cf=da.getTime();Date dat=new Date (2021 -1900 ,5 ,16 ,12 ,00 ); long ti=dat.getTime();System.out.println((ti-cf)/1000 );
Math.floor Math .floor 返回小于等于x的最大整数var d = Math .floor (time/60 /60 /24 );var h = Math .floor (time/60 /60 %24 );var m = Math .floor (time/60 %60 );var s = Math .floor (time%60 );