jQuery

jQuery是一个优秀的JavaScript框架,一个轻量级的JS库。

他封装了JS,CSS,DOM,提供了一致的,简洁的API。

兼容CSS3,以及各种浏览器

使用户更方便地处理HTML,Events、实现动画效果,并且方便地为网站提供AJAX交互

使用户的HTML页面保持代码和HTML内容分离

注意:jQuery2.x开始不再支持Internet Explorer6,7,8

jQuery为了解决浏览器的兼容问题而提供的一种统一封装后的对象描述

jQuery提供的方法都是针对jQuery独享特有的,而且大部分方法的返回值类型也是jQuery对象,所以方法可以连缀调用“jquery对象.方法().方法().方法()....”

通过jQuery选择器选中的对象为jQuery对象

如$("div")和$(#d1)

jQuery选择器包含如下种类:

--基本选择器

  1. 元素选择:依据标签名定位元素  $("标签名")
  2. 类选择器:根据class属性定位元素 $(".class属性名")
  3. id 选择器:根据id属性定位元素  $("#id")
  4. 选择器组:定位一组选择器多对应的所有元素  $("#id,importent")

--层次选择器

  1. 在select1元素下,选中所有满足select2 的子孙元素 $("select1 select2")
  2. 在select1元素下,选中所有满足select2的子元素  $("select1 > select2")
  3. 选中select1元素的,满足select2的下一个弟弟  $("select+select2")
  4. 选中select1元素的,满足select2 的所有弟弟  $("select1 ~ select2")

--过滤选择器

  1. first  第一个元素
  2. last 最后一个元素
  3. not (selector) 把selector排序在外
  4. even  挑选偶数行
  5. odd 挑选奇数行
  6. eq(index)下标等于index的元素
  7. gt(index)下标大于index的元素
  8. lt(index)下标小于index的元素
  9. contains(text) 匹配包含给定文件的元素
  10. empty匹配所有不包含子元素或文本的空元素
  11. hidden  匹配所有不可见元素
  12. visible 匹配所有的课件元素
  13. [attribute]匹配具有attribute属性的元素
  14. [attribute = value]匹配属性等于value的元素
  15. [attribute != value]匹配属性不等于value的元素
  16. enable 匹配可用的元素
  17. disable匹配不可以的元素
  18. checked匹配选中的CheckBox
  19. seleced 匹配选中的option

--表单选择器

  1. text
  2. password
  3. radio
  4. chexkbox
  5. submit
  6. reset
  7. button
  8. file
  9. hidden

读写节点

  • 读写节点的HTML内容   obj.html()    /    obj.html("<span>123</span>")
  • 读写节点的文本内容  obj.text()   /  obj.text("123")
  • 读写节点的value属性值   obj.val()  /  obj.val("abc")
  • 读写节点的属性值  obj.attr("属性值")   /obj.val("属性名","属性值")

插入DOM节点

  • parent.append(obj)作为最后一个自及诶单添加进来
  • parent.prepend(obj)作为第一个子节点添加进来
  • brother.after(obj)作为下一个兄弟节点添加进来
  • brother.before(obj)作为上一个兄弟节点添加进来

删除DOM节点

  • obj.remove()删除节点
  • obj.remove(selector)只删除满足selector的节点
  • obj.empty()清空节点

样式操作

  • addclass(" ") 追加样式
  • removeClass(" ") 移除指定样式
  • removeClass() 移除所有样式
  • toggleClass(" ") 切换样式
  • hasClass(" ")判断是否有某个样式
  • css(" ")读取css的值
  • css(" "," ")设置多个样式

遍历节点

  • children() / children(selector) 直接子节点
  • next()  /next(selector) 下一个兄弟节点
  • prev() /prev(select) 上一个兄弟节点
  • siblings() / siblings(selector) 所有兄弟
  • find(selector) 查找满足选择器的所有后代
  • parent()  父节点

如何取消冒泡事件(什么是事件冒泡:子节点产生的事件会一次向上抛给父节点)

e.stopPropagation() 可以取消事件冒泡

if(event.stopPropagation){

event.stopPropagation();//IE

}else{

event.cancelBuddle();//非IE

}

基于jQuery的购物demo

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>购物</title>
<style type="text/css">body{background: #ccceee;
}h1 {text-align: center;
}table {width:60%;margin:   100px auto;border: 1px solid #ffffff;border-collapse: collapse;text-align: center;
}table th ,table td  {border: 1px solid #ffffff;padding: 5px;
}input:hover {background-color: yellow;
}
</style>
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">function addshopping(btn) {var tds = $(btn).parent().siblings();var name = tds.eq(0).text();var price = tds.eq(1).text();var n_tr = $('<tr>'+'<td>'+name+'</td>'+'<td>'+price+'</td>'+'<td align="center">'+'<input type="button" value="-" onclick="decrease(this);">'+'<input type="text" value="1" size="3" readonly>'+'<input type="button" value="+" onclick="increase(this);">'+'</td>'+'<td>'+price+'</td>'+'<td align="center">'+'<input type="button" value="X" onclick="del(this);">'+'</td>'+'</tr>'        );$("#goods").append(n_tr);total();}function del(btn) {$(btn).parent().parent().remove();total();}function increase(btn) {//获取文本框内容var amount = $(btn).prev().val();$(btn).prev().val(++amount);//获取单价var price = $(btn).parent().prev().text();var money = amount*price;$(btn).parent().next().text(money);total();}function decrease(btn) {//获取数量var amount = $(btn).next().val();if (amount<=1) {return;}$(btn).next().val(--amount);//获取单价var price = $(btn).parent().prev().text();var money = amount*price;$(btn).parent().next().text(money);total();}function total() {//获取tbody下的所有行var $trs = $("#goods tr");//遍历var sum = 0 ;for (var i = 0; i < $trs.length; i++) {// 获取每一行var $tr = $trs.eq(i);//获取每一行中的第四列var money = $tr.children().eq(3).text();sum += parseFloat(money);}$("#total").text(sum);}
</script>
</head>
<body><h1>聚划算</h1><table><thead><tr><th>商品名</th><th>商品价格</th><th>商品库存</th><th>好评率</th><th>操作</th></tr></thead><tbody><tr><td>龙瞎皮肤</td><td>888</td><td>100</td><td>50%</td><td><input type="button" value="加入购物车" onclick="addshopping(this);"/></td></tr><tr><td>寒冰源计划皮肤</td><td>666</td><td>50</td><td>70%</td><td><input type="button" value="加入购物车" onclick="addshopping(this);"/></td></tr><tr><td>劫源计划皮肤</td><td>555</td><td>30</td><td>60%</td><td><input type="button" value="加入购物车" onclick="addshopping(this);"/></td></tr></tbody><tfoot><tr><td colspan="5" style="text-align: center;color: red;">LOL皮肤选购</td></tr></tfoot></table><h1>购物车</h1><table><thead><tr><th>商品名</th><th>商品单价</th><th>商品数量</th><th>商品总价</th><th>操作</th></tr></thead><tbody id="goods"></tbody><tfoot><tr><td colspan="3">总价:</td><td colspan="2" id="total"></td></tr></tfoot></table>
</body>
</html>

注意:事件冒泡在做项目时候经常发生,要知道如何去取消事件冒泡

jQuery(购物Demo)相关推荐

  1. Jquery 1000 demo

    1.导航类 (1)Horizontal accordion: jQuery 基于jQuery开发,非常简单的水平方向折叠控件. 二手图书 二手书 特价书 旧书网 (2)jQuery-Horizonta ...

  2. jquery autocomplete demo

    根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择. jquery.autocomplete参考地址 http://bassistance.de/jquery-plugins/jquer ...

  3. JavaScript(购物Demo)

    JavaScript是嵌入HTML中在浏览器中的脚本语言,具有与java和C语言类似的语法 一种网页编程技术,用来向HTML页面添加交互式行为 直接嵌入HTML页面 由浏览器解释执行代码,不进行预编译 ...

  4. SSH框架实现仿淘宝购物demo

    还记得六月份实习的时候,以前做过一个电商的项目.项目里面须要实现相似淘宝购物车的移动端的demo.随着项目的进行,再一次跟购物车碰面,可是今天呢,不是移动端的需求.怎样使用SSH框架实现相似淘宝的购物 ...

  5. JS 和 JQuery 使用demo

    文章目录 JavaScript 字符串模板 数字 数组 异常 类 面向对象 JS中的对象类型 定义对象 访问对象 增删属性 判断属性是否存在 遍历对象 为空判断 demo JS构建表单 JQ全选反选 ...

  6. jQuery validate表单验证demo

    Query Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求. 官方文档  http://jqueryvalidation. ...

  7. 超强的jquery极品插件--色彩选择器类/ 右键菜单类/ 图片新闻flash展示类

    Farbtastic Farbtastic是一个color picker插件.它能够在一个页面中加入多个颜色选择控件,然后每个控件关联到页面中的一个元素比如:文本输入框. Farbtastic jQu ...

  8. 超强1000个jquery极品插件!(连载中。。。。最近更新20090710)

    花N长时间积累的Jquery插件,希望大家喜欢.大家还有什么新的插件,请留言,我们一并收录. 感谢大家的支持. ++++++++++++++++++++++++++++++++++++++++++++ ...

  9. 超强1000个jquery极品插件!(感觉好强大,转载一下)

    花N长时间积累的Jquery插件,希望大家喜欢.大家还有什么新的插件,请留言,我们一并收录. 感谢大家的支持. ++++++++++++++++++++++++++++++++++++++++++++ ...

最新文章

  1. 一起走进计算机视觉的世界
  2. 开始喜欢Python了
  3. Android nDrawer
  4. ESP8266常用脚本命令之一
  5. IBASE save
  6. Linux笔记-bash中执行命令并将执行的命令结果存储为变量
  7. Intel® Nehalem/Westmere架构/微架构/流水线 (5) - 高速缓存 存储器子系统
  8. 【Spring】Spring hibernate JSR-303 Validator 自定义参数校验器
  9. Android应用开发中三种常见的图片压缩方法
  10. python(源码包安装 基本使用 循环)
  11. 猜数字游戏python程序_【自学编程】python 小游戏—猜数字
  12. 【重拾FPGA】读锆石科技硬件语法篇有感
  13. 算法练习——(10)小明的作业详解与分析(栈,数组,遍历,逻辑练习)
  14. java复数类实部_Java编写一个复数类Complex,具有实部、虚部成员变量,可以完成加、减、乘、除和获得实部和虚部的方法...
  15. 题解 [校内测试]图森破
  16. HTML实现图片点击放大效果
  17. 杭电计算机学院2019年奖学金,关于计算机学院2019-2020学年国家励志奖学金评选的通知...
  18. 802.11成帧封装实现(三)
  19. 计算机系统结构第二版习题答案,计算机系统结构课后习题答案(第2版).docx
  20. Arduino Uno 实验6——LM35温度传感器

热门文章

  1. 小白学Python应该怎么配置环境?
  2. 7的整除特征 三位一截_数的整除(能被7、9、11、13整除的数的特征)专题训练
  3. IE10浏览器 默认的文档模式为IE7标准,无法更改
  4. java app调用支付宝支付
  5. 吉林大学计算机专业课资料包括视频
  6. 选择的项目没有一个和activex服务器相关联_《魔兽世界(经典怀旧服)》服务器及最低配置蓝贴 (8.11更新)...
  7. Python-Django毕业设计宾馆管理信息系统(程序+Lw)
  8. 电源计划信息服务器,Win10切换电源计划的方法
  9. win10 装SQL Server 2000入门各种坑
  10. 如何在网页中在线玩西游释厄传