Python之路56-jQuery
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路56-jQuery相关的知识,希望对你有一定的参考价值。
目录
一、查找元素
二、操作
三、示例
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
http://jquery.cuishifeng.cn/
集成了JavaScript、DOM、BOM的类库
版本:1.x 2.x 3.x
jQuery与DOM直接相互转换
jQuery对象[0] => DOM对象
DOM对象 => $(DOM对象)
一、查找元素
1.选择器,直接找到某个或某类标签
$("#id") //根据ID查找 $(".c1") //根据className查找 $("a") //根据标签查找 $("a,.c2") //组合查找 $("#i10 a") //层级查找,子子孙孙 $("#i10>a") //层级查找,儿子
2.基本筛选器
$("#id10>a:first") //儿子的第一个 $("#id10>a:last") //儿子的最后一个 $("#id10>a:eq(0)") //0为索引,从0开始
3.属性
$("[alex]") //具有alex属性的标签 $("[alex=‘123‘]") //alex属性等于123的标签
4.筛选
$(this).next() //下一个 $(this).prev() //上一个 $(this).parent() //父 $(this).children() //孩子 $("#i1").siblings() //除了自己的所有兄弟 $("#i1").find("#i1") //子子孙孙中查找
二、操作
1.文本操作
$(..).text() //获取文本内容 $(..).text("ddd") //设置文本内容 $(..).html() $(..).html("...") $(..).val() //获取值 $(..).val("...") //设置值
2.样式操作
addClass("...") //添加样式 removeClass("...") //删除样式 toggleClass("...") //判断样式是否存在,存在删除,不存在添加
3.属性操作
$(..).attr(参数1) //获取属性 $(..).attr(参数1,参数2) //设置属性 $(..).removeAttr() //删除属性 $(..).prop() //专门用于checkbox、radio
4.文档处理
append //向每个匹配的元素内部追加内容 prepend //向每个匹配的元素内部前置内容 after //在每个匹配的元素之后插入内容 before //在每个匹配的元素之前插入内容 remove //从DOM中删除所有匹配的元素 empty //删除匹配的元素集合中所有的子节点 clone //克隆匹配的DOM元素并且选中这些克隆的副本
5.样式处理
$("#t1").css("样式名称", "样式值")
6.位置
scrollTop() scrollLeft() $(window).scrollTop() //获取 $(window).scrollTop(0) //设置 offset().left //指定标签在HTML中的坐标 offset().top //指定标签在HTML中的坐标
7.事件
jQuery绑定事件三种方式
//第一种 $(".c1").click() //第二种 $(".c1").bind("click",function(){ }) $(".c1").unbind("click",function(){ }) //此种方法只有当触发事件才绑定 $(".c1").delegate("a", "click", function(){ }) $(".c1").undelegate("a", "click", function(){ }) //第三种 $(".c1").on("click", function(){ }) $(".c1").off("click", function(){ })
阻止事件发生:
return false
当页面框架加载完毕后,自动执行
$(function(){
})
8.扩展
$.extend $.方法
$.fn.extend $("i1").方法
//自执行函数 (function(arg){ var status = 1; //封装变量 arg.extend({ "wangsen": function(){ return "sb"; } }); })(jQuery);
9.循环
jQuery方法内置循环
$(":checkbox").each(function(){ // k当前索引 // this,DOM对象,当前循环的元素$(this) });
10.三元运算
var v = 条件?真值:假值
三、示例
1.多选反选取消
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <input id="i1" type="button" value="全选"/> <input id="i2" type="button" value="反选"/> <input id="i3" type="button" value="取消"/> <table border="1"> <thead> <tr> <th>选项</th> <th>IP</th> <th>端口</th> </tr> </thead> <tbody> <tr> <td><input type="checkbox" /></td> <td>1.1.1.1</td> <td>80</td> </tr> <tr> <td><input type="checkbox" /></td> <td>1.1.1.1</td> <td>80</td> </tr> <tr> <td><input type="checkbox" /></td> <td>1.1.1.1</td> <td>80</td> </tr> <tr> <td><input type="checkbox" /></td> <td>1.1.1.1</td> <td>80</td> </tr> <tr> <td><input type="checkbox" /></td> <td>1.1.1.1</td> <td>80</td> </tr> </tbody> </table> <script src="../jquery/jquery-1.12.4.js"></script> <script> $("#i1").click(function () { $(":checkbox").prop("checked", true); }); $("#i2").click(function () { $(":checkbox").each(function () { var v = $(this).prop("checked")?false:true; $(this).prop("checked", v); }); }); $("#i3").click(function () { $(":checkbox").prop("checked", false); }); </script> </body> </html>
2.左侧菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> <style> .header{ background-color: black; color: white; } .content{ min-height: 50px; } .hide{ display: none; } </style> </head> <body> <div style="height: 400px;width: 200px;border: 1px solid #dddddd"> <div class="item"> <div class="header">标题1</div> <div id="i1" class="content">内容</div> </div> <div class="item"> <div class="header">标题2</div> <div class="content hide">内容</div> </div> <div class="item"> <div class="header">标题3</div> <div class="content hide">内容</div> </div> </div> <script src="../jquery/jquery-1.12.4.js"></script> <script> $(".header").click(function () { $(this).next().removeClass("hide").parent().siblings().find(".content").addClass("hide"); }); </script> </body> </html>
3.模态对话框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> <style> .hide{ display: none; } .modal{ position: fixed; top: 50%; left: 50%; width: 500px; height: 400px; margin-top: -250px; margin-left: -250px; background-color: #dddddd; z-index: 10; } .shadow{ position: fixed; top: 0; right: 0; bottom: 0; left: 0; opacity: 0.6; background-color: #000000; z-index: 9; } </style> </head> <body> <a id="a1">添加</a> <table border="1" id="tb"> <tr> <td target="hostname">1.1.1.11</td> <td target="port">80</td> <td> <a class="edit">编辑</a> | <a class="del">删除</a> </td> </tr> <tr> <td target="hostname">1.1.1.12</td> <td target="port">80</td> <td> <a class="edit">编辑</a> | <a class="del">删除</a> </td> </tr> <tr> <td target="hostname">1.1.1.13</td> <td target="port">80</td> <td> <a class="edit">编辑</a> | <a class="del">删除</a> </td> </tr> </table> <div class="modal hide"> <div> <input type="text" name="hostname"/> <input type="text" name="port"/> </div> <div> <input type="button" value="确定"> <input type="button" value="取消"> </div> </div> <div class="shadow hide"></div> <script src="../jquery/jquery-1.12.4.js"></script> <script> $("#a1").click(function () { $(".modal").removeClass("hide"); $(".shadow").removeClass("hide"); }); $(".modal input[value=‘取消‘]").click(function () { $(".modal, .shadow").addClass("hide"); $(".modal input[type=‘text‘]").val(""); }); $(".del").click(function () { $(this).parent().parent().remove(); }); $(".edit").click(function () { var tds = $(this).parent().prevAll(); tds.each(function () { var n = $(this).attr("target"); var text = $(this).text(); var a1 = ‘.modal input[name="‘; var a2 = ‘"]‘; var temp = a1 + n + a2; $(temp).val(text); }); $(".modal").removeClass("hide"); $(".shadow").removeClass("hide"); }); </script> </body> </html>
4.tab切换菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> <style> .menu{ height: 38px; background-color: #dddddd; line-height: 38px; } .menu .menu-item{ float: left; border-right: 1px solid red; padding: 0 5px; cursor: pointer; } .content{ min-height: 100px; border: 1px solid #eeeeee; } .hide{ display: none; } .active{ background-color: brown; } </style> </head> <body> <div style="width: 700px;margin: 0 auto"> <div class="menu"> <div class="menu-item active" a="1">菜单一</div> <div class="menu-item" a="2">菜单二</div> <div class="menu-item" a="3">菜单三</div> </div> <div class="content"> <div b="1">内容一</div> <div class="hide" b="2">内容二</div> <div class="hide" b="3">内容三</div> </div> </div> <script src="../jquery/jquery-1.12.4.js"></script> <script> $(".menu-item").click(function () { $(this).addClass("active").siblings().removeClass("active"); var v = $(this).index(); $(".content").children().eq(v).removeClass("hide").siblings().addClass("hide"); }); </script> </body> </html>
5.点赞
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .container{ padding: 50px; border: 1px solid #dddddd; } .item{ width: 30px; position: relative; } </style> </head> <body> <div class="container"> <div class="item"> <span>赞</span> </div> </div> <div class="container"> <div class="item"> <span>赞</span> </div> </div> <div class="container"> <div class="item"> <span>赞</span> </div> </div> <div class="container"> <div class="item"> <span>赞</span> </div> </div> <script src="jquery-1.12.4.js"></script> <script> $(".item").click(function () { addFavor(this); }) function addFavor(self) { // DOM对象 var fontSize = 15; var top = 0; var right = 0; var opacity = 1; var tag = document.createElement("span"); $(tag).text("+1"); $(tag).css("color", "green"); $(tag).css("position", "absolute"); $(tag).css("fontSize", fontSize + "px"); $(tag).css("top", top + "px"); $(tag).css("right", right + "px"); $(tag).css("opacity", opacity); $(self).append(tag); var obj = setInterval(function () { fontSize += 5; top -= 5; right -= 5; opacity -= 0.1; $(tag).css("fontSize", fontSize + "px"); $(tag).css("top", top + "px"); $(tag).css("right", right + "px"); $(tag).css("opacity", opacity); if(opacity < 0){ clearInterval(obj); $(tag).remove(); } }, 100); } </script> </body> </html>
6.表单验证
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .error{ color: red; } </style> </head> <body> <form id="f1" action="http://127.0.0.1" method="POST"> <div><input name="n1" type="text"/></div> <div><input name="n2" type="password"/></div> <div><input name="n3" type="text"/></div> <div><input name="n4" type="text"/></div> <div><input name="n5" type="text"/></div> <input type="submit" value="提交"/> </form> <script src="jquery-1.12.4.js"></script> <script> // $(":submit").click(function () { // var v = $(this).prev().val(); // if(v.length > 0){ // return true; // }else{ // alert("请输入内容"); // return false; // } // }); $(":submit").click(function () { $(".error").remove(); var flag = true; $("#f1").find("input[type=‘text‘], input[type=‘password‘]").each(function () { var v = $(this).val(); if(v.length <= 0){ flag = false; var tag = document.createElement("span"); tag.className = "error"; tag.innerHTML = "必填"; $(this).after(tag); // return false; } }); return flag; }); </script> </body> </html>
本文出自 “八英里” 博客,请务必保留此出处http://5921271.blog.51cto.com/5911271/1924148
以上是关于Python之路56-jQuery的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段