JQuery使用方法简介(一)

阅读: 评论:0

JQuery使用方法简介(一)

JQuery使用方法简介(一)

目录

一、jquery介绍

1、是一个javascript类库

2、以最少的代码实现更多的功能

3、优势:

4、版本拓展:是否兼容IE678

二、基础核心

1、代码风格

2、加载模式

3、对象互换

三、选择器

1、最核心   选择引擎        

2、使用

3、拓展:容错功能

4、拓展:选择器复杂度

一、jquery介绍

1、是一个javascript类库

      通过封装原生的javascript函数从而得到一套完整的方法

2、以最少的代码实现更多的功能

3、优势:

(1)像CSS操作那样操作DOM

(2)修改CSS方便简单

(3)简化JS代码操作

(4)事件处理更加容易

(5)各种动画效果

(6)ajax更加完美

(7)大量插件               (eg:日历)

(8)量大的优势: 特别方便

4、版本拓展:是否兼容IE678

(1)成本控制

(2)用户选择

   <1>高质量

   <2>低质量         (创业初期可以考虑放弃)

(3)项目侧重点

(4)用户体验

(5)数据支持

(6)教育用户

(7)总而言之:视情况而定

二、基础核心

1、代码风格

(1) $function(){};        (匿名函数的执行)

(2)$("#div1")         (选取元素)

(3)$("#div1").css('color','red')       (添加内联样式)

(4)$ == jQuery          (js封装好的一个对象)

2、加载模式

(1&#load

   <1>全部资源加载完毕

   <2>只能执行一次,会覆盖前边的

   <3>不能简写

(2)$(document).ready(function() {});    

   <1>DOM结构加载完毕

   <2>可多次执行

   <3>可简写 $(function() {});

3、对象互换

   这个互换多指JQuery对象于DOM对象互换

   (1)DOM对象转成JQuery对象:$(DOM对象)

   (2)JQuery对象转换成DOM对象:JQuery对象[index]

三、选择器

1、最核心   选择引擎        

  继承了css的语法,可以对DOM元素的标签名、属性名、状态等进行快速准确的选择

2、使用

(1)id选择器        (#div1)

(2)标签名选择器        (div)

(3)class选择器       (.div1)

(4)后代选择器

   <1>header    div

   <2>$("header  div")等价于 $("header").find("div")

(5)子代选择器       header>div

   <1>IE6不支持

   <2>$("header>div") 等价于 $("header").children('p')

(6)第一个元素::first

(7)最后一个元素::last

(8)所有偶数元素::even

(9)所有奇数元素::odd

(10)根据下标进行选择元素::eq(n)

(11)根据属性进行选择元素:[title]

3、拓展:容错功能

   很多情况下动态DOM生成会有问题

4、拓展:选择器复杂度

   选择器越复杂,字符串解析越慢

5、具体案例:

html文件代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>jq</title>
</head>
<body><li>一群男人的故事</li><li>人与自然的故事</li><li>105个男人与3个女人的故事</li><li>一群女人与一个男人的故事</li><div id="ok"><div class="ok1"><div><p>1</p><p>2</p></div><div><p>3</p><p>4</p></div><div><p>5</p><p>6</p></div></div><div class="ok2"><div><p>7</p><p>8</p></div><div class="nt"><p>9</p><p>10</p></div><div><p>11</p><p>12</p></div></div></div>
</body>
<script src="js/jq.js"></script>
<script>// $('  #ok   .ok    .nihao  div  li  ')var els = $("#ok .ok1  p");// 链式语法:(因为都返回this)$("#ok .ok2  .nt p").css({color: "red",fontSize: "30px"}).css({backgroundColor: "yellowgreen"});console.log(els); 
</script>
</html>

 js文件代码:


// arg  div  .ok  #yes  div  ul  li
// 对外使用的方法
function   $(arg){// 通过arg(类似css选择器) 获取指定的标签// 返回一个数组return   _getEls(arg);}// 自定义内部使用方法
arg = '  #ok   .ok    .nihao  div  li  '   
function  _getEls(arg){// 将arg规范化// arg首位首位没有空格,中间只有一个空格var  reg = /^s+|s+$/g;arg = place(reg, '');// console.log("ok===="+arg);reg = /s+/g;arg = place(reg, ' ');// console.log(arg);// 将arg分隔为数组var  arr = arg.split(' ');// console.log(arr);// arr = ["#ok",".ok",".nihao","div","li"];// 需要工具var  parent = [document];var  children = [];// 遍历arrfor(var i=0;i<arr.length;i++){var  s = arr[i];      //当前的查询项for(var j=0;j<parent.length;j++){// 遍历当前查询项的父级var  p = parent[j];var  subarr = _getChildByParent(p,s);children = at(subarr);}parent = children;     //子级成为父级children = [];}return  parent;
}function  _getChildByParent(p,s){var  c = s.charAt(0);     //获取查询项的首字母var  arr = [];if(c === "#"){c = s.substring(1);arr = [p.getElementById(c)];console.log(arr);}else  if(c === "."){c = s.substring(1);var  els = p.getElementsByClassName(c);for(var i=0;i<els.length;i++){arr.push(els[i]);}}else{var  els = p.getElementsByTagName(s);for(var  i=0;i<els.length;i++){arr.push(els[i]);}}return  arr;
}// 为数组的原型添加一些新的方法
// 继续简化DOM操作
Array.prototype.css = function(obj){this.forEach(function(el){for(var  x  in  obj){el.style[x] = obj[x];}})return  this;
}

运行结果:

本文发布于:2024-02-05 05:52:58,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170725621663595.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用方法   简介   JQuery
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23