前端基础知识

2019-04-13 jQuery基础

2019-04-13  本文已影响0人  Sallyscript

主打write less do more

jQuery的引用

先引用jQuery,再引用js文件

在head标签里引用
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.0.min.js"></script>

$符号

jQuery的别名,$是一个合法的变量名
window.jQuery == window.$//两者意思相等
$ === jQuery //true
$的使用
绝大多数时候,我们都直接用$
若$变量已被占用,且不能改,就只能使用jQuery这个变量
原始格式
$(document).ready(function(){
  ......
});

document代表HTML中最大的对象
ready代表准备就绪了
意思是HTML部分已经加载完成,可以开始运行函数体里面的内容

缩写格式
1
$().ready(function(){
  ...
});
2
$(function(){
  ...
});
js原生格式
window.onload = function(){
  ...
};

jQuery的小样例

var alinks = $('a');
for(var i = alinks.length-1;i>=0;i--)
{
//js写法
    alinks[i].style.background = 'red';
    alinks[i].style.border = '5px solid yellow';
    alinks[i].style.color = '#fff';   
 //jQuery写法
    alinks.eq(i).css({
      'background' : 'red',
      'border' : '5px solid yellow',
      'color' : '#fff' 
    })
}

选择器

返回的对象就是jQuery对象,类似数组,每个元素都是一个引用了DOM结点的对象。
不会返回undefined或者null
不必在下一行判断if(div === undefined)

ID选择器

$('#id')

根据给定的ID匹配一个元素

element选择器

$('标签名')

根据给定的元素标签名匹配所有元素
返回的是数组,长度是标签的个数

class选择器

$('.class')

根据给定的元素类名匹配所有元素
返回的是数组,长度是class对应标签的个数

多项选择器

$('.class, #id ,标签名')

根据给定的元素类名和id以及标签名匹配所有元素
取出来的数组顺序,会完全遵循HTML里标签的顺序

层次选择器

$('祖先 后代')

在给定祖先元素下匹配所有的后代元素
后代包含子代,子代的后代,子代的后代的后代

$('父代>子代')

在给定父元素下匹配所有的子元素
这里的子代就是父代的子代

$('prev + next')

所有紧接着prev后的next元素
这边是亲兄弟

$('prev ~ siblings')

匹配prev元素后所有的siblings元素
这边包括亲兄弟及表兄弟

属性选择器attribute

$(‘[attribute]’)

属性名选择器

$('[attribute = value]')

属性值选择器
选择特定属性值的元素

$('[attribute != value]')

非属性值选择器

$('[attribute ^= value]')

属性值包含value的选择器

$('[attribute $ = value]')
准确找关键词有value的选择器
$('[attribute *= value]')

模糊查找关键词value的选择器

多属性选择器
image.png image.png

过滤选择器

ps: HTML JS

first表示:details下面的第一个子标签必须是p标签才能取出
last表示:details下面的倒数第一个子标签必须是p标签才能被取出

:first-child
:last-child
取出第一个标签为p标签的元素
:nth-child(n | even | odd | formula)
:nth-last-child(n | even | odd | formula)
取出 details下只有一个子标签,并且这个标签是p的元素
:only-child

过滤器的type

image.png

type重点不是HTML正常标签的顺序
重点是某类型标签在HTML中的顺序

:first-of-type

first的值是details下第一个出现p时的元素。这个元素不一定是第一个标签。

:last-of-type
:nth-of-type(n | even | odd | formula)
:nth-last-of-type(n | even | odd | formula)
:only-of-type

过滤器的参数

n

匹配子元素序号。必须为整数,从1开始

even

匹配所有偶数元素

odd

匹配所有奇数元素

formula

使用特殊公式如(an+b)进行选择

表单相关

:input

可以选择<input> , <textarea> , <select> , <button>

:text

匹配所有的单行文本框,和input[type= 'text']一样

其他的input的type
image.png
:enable、:disable

enable匹配所有可用元素;disable匹配所有不可用元素

:checked

匹配所有被选中的元素(复选框,单选框等,selected中的option)

:selected

匹配所有选中的option元素

:find(expr | object | element)

搜索所有与制定表达式匹配的元素

:children([expr])

取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。

:parent([expr])

取得一个包含着所有匹配元素的唯一父元素的元素集合

:next([expr])、prev([expr])

取得一个包含匹配的元素集合中每一个元素紧邻的后面(前面)同辈元素的元素集合

:eq(index | -index)

获取当前链式操作中第N个jQuery对象

:siblings([expr])

获取一个包含匹配元素集合中的每一个元素的所有唯一同辈元素的元素集合

:filter(expr | object | element | fn)

筛选出与指定表达式匹配的元素集合

参数:
expr:字符串值,包含供匹配当前元素集合的选择器表达式
object:现有的jQuery对象,以匹配当前的元素
element:一个用于匹配元素的dom元素
fn:一个函数用来作为测试元素的集合

事件类型

鼠标事件

click([[data],fn])、dblclick([[data],fn])
mousedown、mouseup
mouseenter、mouseleave
hover([over],out)
mouseover、mouseout
mousemove([data],fn)
scroll( [ [data] , fn ] )
keydown( [ [data],fn ] )
$(document).ready(function(){
  $(document).keydown(function(event)
  {
    console.log(event);
  }
}

keyup ( [ [data],fn ] )

其他事件

ready(fn)

当DOM载入就绪可以查询及操纵时绑定一个要执行的函数

resize([[data],fn])

当调整浏览器窗口的大小时,发生resize事件。

$(window).resize(function(){
  console.log($(this));
});
focus([[data],fn])/blur([[data],fn])
change([[data],fn])
select([[data],fn])
submit([[data],fn])

事件参数

event

事件绑定与取消

on(events,[selector],[data],fn)

在选择元素上绑定一个或多个事件的事件处理函数
ps:

方法一:
var index=0;
$('a').on('mouseenter',function(){
  index = $(this).index;
});
方法二:
var index=0;
$(document).on('mouseenter','a',function(){
  index = $(this).index;
});
绑定多个事件:
var index=0;
$('a').add(document).on({
  mouseenter : function(event){
    event.stopPropagation();
    index = $(this).index;
   },
  keydown : function(event){
    event.stopPropagation();
     .....
  }
});

off(events,[selector],fn)

在选择元素上移出一个或多个事件的事件处理函数


image.png

one(type,[data],fn)

为每一个匹配元素的特定事件(比如click)绑定一个一次性的事件处理函数。

上一篇下一篇

猜你喜欢

热点阅读