一.安装与使用

官网下载,然后引入 <script src="js/jquery-3.3.1.js"></script>,这是生产版本,开发版本替换成min的那个

二.转换

jQuery是一个类数组对象,而DOM对象就是一个单独的DOM元素,

jq转dom转换

console.log( $('div')[0]);//选出来的是dom元素
console.log( $('div').get(0));//选出来的是dom元素

dom转jq
通过$(dom)方法将普通的dom对象加工成jQuery对象之后,我们就可以调用jQuery的方法了
let divs=document.getElementsByTagName('div');
let $div=$(divs);
console.log($div)//jq对象
$div.css('background','pink')

二.选择器们

1.基本选择器

$('#div1') id选择器

$('.div1') 类选择器

$('div') 元素选择器

$('*') 所有选择器

2.层选择器

$('form input') 选择form 下所有的input,包括子孙后代的input

$("#main > *") 选择id为mian 的所有子元素

$(".div1 + input") 选择紧跟着.div1的下一个input,只选一个,如果不紧跟着就没有

$("#prev ~ div") 选择#prev元素下面的所有兄弟div,

$("#prev ~ siblings") 选择#prev元素下面的所有兄弟

3.过滤选择器

$("p:first") 第一个p 元素
$("p:last") 最后一个p 元素
$("p:not(.p1)") 选取所有class不是p1的p元素
:even 奇数行,0开始
:odd 偶数行,0开始
<div class="div6">
<div class="div1">1</div>
<div class="div2">2</div>
<div class="div3">3</div>
<div class="div4">4</div>
<div class="div5">5</div>
</div>
<div class="div8">
<div class="div7"></div>
</div>
eq(index) 选取索引为index的元素,从0开始,$('.div6 div:eq(0)') 第一个div6 下的第一个div,如果有多个符合条件,只选择一个
gt(index) 大于索引的,1开始,gt(0)是第一个元素,即选择大于1的, $('.div6 div:gt(0)') // 2,3,4,5

lt(index) 小于索引的,lt(1) 是第二个元素,$('.div6 div:lt(1)') //1
:header 所有的标签元素

:animated 正在执行的动画
:focus 当前获取焦点的元素

4.内容过滤选择器

:contains(text):选取文件内容包含text的元素 $('.div6 div:contains("1")') //div1 这个有可能选择出多个来
:empty :选取没有子元素或文本内容的元素 $(' div:empty') //div7
:has(selector) : 选取包含选择器的元素 $(' div:has(.div7)') //div8
:parent 选取含有资源是或者文本的元素

5.可见性过滤选择器

:hidden 选取所有不可见的元素 包括display:none,opacity=0,visibility:hidden,input的type=hidden
:visible 选取所有可见的元素

6.属性过滤器

input[name] 选取所有拥有name塑形的input
input[name=xiaofang] 选取所有name=xiaofang的input
input[name!=xiaofang]选取所有name属性的值不是xiaofang的input
input[name^=xiaofang]选取所有name属性的值以xiaofang开头的input
input[name$=xiaofang]选取所有name属性的值以xiaofang结尾的input
input[name|=xiaofang]选取所有name属性以xiaofang为前缀或者就是xiaofang的input
input[name~=xiaofang]选取所有name属性的值以空格隔开包含xiaofang的input
[attribute1][attribute2]..[attributen]用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围。

7.子元素过滤选择器

div:nth-child(index/even/odd/eq(0)) 选取第一个index个div,奇偶位的div,注意中间如果有别的元素,也是占据index数的,但是odd/even只计算div
:last-child ,同上,从最后一个选
:only-child 有独生子的元素

8.表单对象属性过滤选择器

:enable 所有可用的元素
:disable 不可用的元素
:checked 所有被选中的元素
:selected 被选中的option元素

9.表单选择器

:input 基本上所有的表单元素
:text 单文本
:password 密码框
:button 按钮
:radio 单选框
:checkbox 多选框
:submit 提交按钮
:image 图片按钮
:reset 重置按钮
:file 所有的上传域
:hidden 不可见的元素
这一堆都可以用input[type=text/password/button]来替代

三.样式的操作

1.html()
相当于innerHTML

2.text()
返回一个字符串,包含所有匹配元素的合并文本

3.val()

获取input 的值

4.css()
1.两个参数,第一个是属性,第二个是要设置的属性,第二个属性可以是一个回调函数,return出来要传递的值

2.一个参数:获取该属性的值
3.设置值的时候,可以传入一个对象,批量设置
4,获取的时候,可以传入一个数组,最后会返回一个对象

5.addClass()

当一个节点含有多个class,dom元素响应的className属性不是数组,而是含有空格的字符串
addClass(".div1")为每个元素增加.div1,增加多个用数组$('div').addClass(['div1','div2'])
addClass属于追加,不是替换
addClass(function(index,currentClass){}),返回一个或多个用空格隔开的要增加的样式名
.removeClass( [className ] ):每个匹配元素移除的一个或多个用空格隔开的样式名,不填写全部移除
.removeClass( function(index, class)) : 一个函数,返回一个或多个将要被移除的样式名

6.toggleClass()
toggleClass用于解决互斥的切换(比如addClass,removeClass),一次相当于addClass,再一次相当于removeClass

7.attr与property的区别

attr是dom自带的属性,例如id class title align等
property是这个dom元素作为对象,其附加的内容,tabName,nodeName,nodeType,使用prop()方法进行取值或赋值
获取attribute 用attr ,获取property用prop
设置value 为 苹果 $('input:first').attr('value','苹果');,只有一个参数时为获取

//可以根据该元素上的其它属性值返回最终所需的属性值
//例如,我们可以把新的值与现有的值联系在一起:

$('form input:nth-child(3)').attr('value',function(i, val){
return '通过function设置' + val
})

removeAttr() 删除某个属性

jquery基础学习之样式篇(一)的更多相关文章

  1. jquery基础学习之动画篇(四)

    一,动画效果 hide() show() 隐藏与显示 hide(options) 隐藏 对应display:none,有参数就会变成动画, $(document).click(function () ...

  2. jquery基础学习之DOM篇(二)

    在此之前请牢记,jquery 是一个合集对象!!!! 1.节点创建 js创建方法: 创建元素:document.createElement 设置属性:setAttribute 添加文本:innerHT ...

  3. jquery基础学习之AJAX篇(五)

    理解不深,只知道这么用 jquery 中ajax的请求方法 $.ajax({ url:‘http://...’, //请求网址 type:'GET', //请求方法 success:function( ...

  4. jquery基础学习之事件篇(三)

    一.鼠标事件 click 单击 与 dbclick 双击 用于监听用户的点击操作,在同一元素上同时绑定 click 和 dblclick 事件是不可取的...根据浏览器支持不同一个点击事件是由mous ...

  5. JQuery基础学习总结

    JQuery基础学习总结 简单总结下JQuery: 一:事件 1.change事件 <!DOCTYPE html> <html lang="en"> < ...

  6. 【总结整理】JQuery基础学习---样式篇

    进入官方网站获取最新的版本 http://jquery.com/download/    中文 https://www.jquery123.com/ <!--JQuery:轻量级的JavaScr ...

  7. jquery 基础汇总---导图篇

    最近在慕课网学习了一些jquery的基础知识,为了方便记忆,整理出来的导图 jQuery基础总共分为4个部分,分别是样式篇.事件篇.动画篇.DOM篇. 样式篇,主要介绍jQuery的基础语法,选择器以 ...

  8. 【jQuery基础学习】09 jQuery与前端(这章很水)

    这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的. 关于网站结构 文件结构 前端文件分三个文件夹放 images文件夹用来存放将要用到的图 ...

  9. 【jQuery基础学习】00 序

    作为一个从来没有认真学过jQuery的菜来讲,我所学的都是jQuery基础. 算是让自己从0开始系统学一遍吧.学习书籍为:<锋利的jQuery>. 虽然是个序,表示一下我是个菜,但还是来几 ...

随机推荐

  1. swift 遍历枚举

      // see at http://swifter.tips/enum-enumerate/ // 貌似有些空格在粘贴的时候没有了...    = =! import Foundation   en ...

  2. Math.Round四舍六入五取偶Math.Ceiling只要有小数都加1Math.Floor总是舍去小数

    1.Math.Round:四舍六入五取偶 引用内容 Math.Round(0.0) //0Math.Round(0.1) //0Math.Round(0.2) //0Math.Round(0.3) / ...

  3. 关于Unity中的Mesh Collider碰撞器

    原来我的场景中有一个平面Plane带Mesh Collider碰撞器组件,一个主角Hero带有一个Box Collider碰撞器和有重力的Rigidbody刚体组件,主角可以放在平面上. 在导入场景后 ...

  4. SpringBatch的流程简介

    SpringBatch的流程图如下: 每个Batch都会包含一个Job.Job就像一个容器,这个容器装了若干Step,Batch中实际干活的也就是这些Step,至于Step干什么活,无外乎读取数据,处 ...

  5. react中实现搜索结果中关键词高亮显示

    网上看到很多js实现的关键词高亮显示,方法都是一个道理,先获取要替换的文字区域,然后在用正则匹配到关键词,并进行替换. react中实现起来似乎更简单一些. 我这里的需求是通过搜索框搜索出新闻列表,在 ...

  6. LRU 算法

    LRU算法 很多Cache都支持LRU(Least Recently Used)算法,LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小.也就是说,当限定 ...

  7. 04单例模式Singleton

    一.什么是单例模式 单例模式是一种对象创建型模式,使用单例模式, 可以保证为一个类只生成唯一的实例对象.也就是说, 在整个程序空间中,该类只存在一个实例对象. 其实,GoF对单例模式的定义是:保证一个 ...

  8. 【代码审计】XYHCMS V3.5URL重定向漏洞分析

      0x00 环境准备 XYHCMS官网:http://www.xyhcms.com/ 网站源码版本:XYHCMS V3.5(2017-12-04 更新) 程序源码下载:http://www.xyhc ...

  9. jquery.validate 验证记录

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  10. 二叉树的遍历--C#程序举例二叉树的遍历

    二叉树的遍历--C#程序举例二叉树的遍历 关于二叉树的介绍笨男孩前面写过一篇博客 二叉树的简单介绍以及二叉树的存储结构 遍历方案 二叉树的遍历分为以下三种: 先序遍历:遍历顺序规则为[根左右] 中序遍 ...