jQuery基本用法

1 jQuery的元素获取

jQuery使用的第一步:将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中元素。

  • CSS选择器
// 选择整个文档对象
$(document) 

 // 选择ID为myId的网页元素
$('#myId')

 // 选择class为myClass的div元素
$('div.myClass')

// 选择name属性等于first的input元素
$('input[name=first]') 
  • 特有表达式
//选择网页中第一个a元素
$('a:first') 

//选择表格的奇数行
$('tr:odd') 

 // 选择表单中的input元素
$('#myForm :input')

// 选择可见的div元素
$('div:visible') 

// 选择所有的div元素,除了前三个
$('div:gt(2)') 

// 选择当前处于动画状态的div元素
$('div:animated')

2 链式操作

2.1 概念

  • 链式风格(jQuery风格)
    window.jQuery()是我们提供的全局函数

  • 特殊函数jquery
    jQuery(选择器)用于获取对应的元素
    但它不返回这些元素
    相反,它返回一个对象,称为jQuery构造出来的对象(API)
    这个对象可以操作对应元素

  • 链式操作
    最终选中网页元素后,可以对他进行一系列的操作,并且将所有的操作连在一起,以链条形式写出来,这就是链式操作

$('#test').find('.child').addClass('red')

// 可以分解为
$('#test')             // 找到id为test的div
.find('.child')        // 再找到其下class为child的div
.addClass('red')       // 为这些div添加名为red的class

2.2 增删改查

// 创建diiv
$('<div><span>1</span></div>')
// 插入body
.appendTo(document.body)
$div.remove()
$div.empty
// 读写文本内容
$div.test(?)

// 读写HTML内容
$div.html(?)

// 读写属性
$div.attr('title',?)

// 读写style
$div.css({color:'red'})

// 添加class
$div.addClass('blue')

// 添加点击事件
$div.on('click',fn)

//删除点击事件
$div.off('click',fn)
// 返回值不是元素,而是一个api对象
$('#xxx')

// 查找#xxx里的.red元素
$('#xxx').find('.red')

// 获取爸爸
$('#xxx').parent()

// 获取儿子
$('#xxx').children()

// 获取兄弟
$('#xxx').siblings()

// 获取排行老几(从0开始)
$('#xxx').index()

// 获取弟弟
$('#xxx').next()

// 获取哥哥
$('#xxx').prev()

// 遍历并对每个元素执行fn
$('.red').each(fn)

3 构造函数

jQuery是构造函数吗?


  • 因为jQuery确实构造出了一个对象

  • 不是
    因为不需要写new jQuery()就能构造一个对象
    过去遇到的构造函数都要结合new才行

  • 结论
    jQuery是一个不需要加new的构造函数
    jQuery不是常规意义上的构造函数

4 元素赋值

  • jQuery可以使用同一个函数,来完成取值和赋值,操作具体由函数参数决定
  • 如果结果集包含多个元素,赋值时对其中所有元素赋值,取值时,只取出第一个元素的值(.text()除外,它会取出所有元素的text内容)
// html()没有参数,表示取出h1的值
$('h1').html()


// html()有参数Hello,表示对h1进行赋值
$('h1').html('Hello')

常见操作

// 取出或设置html内容
$('#xxx').html() 

// 取出或设置text内容
$('#xxx').text() 

// 取出或设置某个属性的值
$('#xxx').attr()

// 取出或设置某个元素的宽度
$('#xxx').width()

// 取出或设置某个元素的高度
$('#xxx').height()

// 取出某个表单元素的值
$('#xxx').val() 

5 移动元素

jQuery提供了两组方法,用来操作元素在页面中的位置移动

实例:假定我们需要把一个div元素移动到p元素后面
  • 方法一:直接移动目标元素
// 使用$('#xxx').insertAfter(),将div元素移动到p元素后面
.insertAfter($('p'));
  • 方法二:移动其他元素,使目标元素到达我们想要的位置
// 使用$('#xxx').after(),把p元素加到div元素前面
$('p').after($('div'));

常见操作

// 在现存元素的外部,从后面插入元素
$('#xxx').insertAfter()和$('#xxx').after()

// 在现存元素的外部,从前面插入元素
$('#xxx').insertBefore()和$('#xxx').before()

// 在现存元素的内部,从后面插入元素
$('#xxx').appendTo()和$('#xxx').append()

// 在现存元素的内部,从前面插入元素
$('#xxx').prependTo()和$('#xxx').prepend()

参考资料:
(1)jQuery设计思想:http://www.ruanyifeng.com/blog/2011/07/jquery_fundamentals.html
(2)jQuery中文文档:https://www.jquery123.com/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 获取元素 链式操作 链式操作就是选中网页元素后,对它进行一系列的操作,并且所有操作可以连接在一起,以链条的形式写出...
    cy_Wey阅读 374评论 0 0
  • jQuery 介绍 jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScri...
    郑某人_03a6阅读 124评论 0 0
  • 所有的CSS选择器都能在jQuery里使用,比如$('[data-toggle^=button]')。 事件绑定 ...
    hcxowe阅读 589评论 0 2
  • 获取正确的元素 1、 得到一个操作符合条件的数组的api表达式可以是css选择器: 也可以是jQuery特有的表达...
    2b61575c37fd阅读 178评论 0 0
  • 【目录】 一、选择网页元素 二、改变结果集 三、链式操作 四、元素的操作:取值和赋值 五、元素的操作:移动 六、元...
    L怪丫头阅读 288评论 0 1