当前位置: 首页 > news >正文

jQuery库

注明:本文参考自:jQuery - 白月黑羽 (byhy.net)

jQuery安装

Download jQuery | jQuery下载到本地

 ps: script标签中的src属性:表示包含要执行的代码的外部文件位置

<!DOCTYPE html>
<html lang="en"><head><script src="/jslib/jQuery/jquery-3.7.1.js"></script></head><body><button id='b1'>测试按钮1</button><button id='b2'>测试按钮2</button><script>jQuery('button').on('click', function () { alert('按钮被点击') })</script><body>
</html>

选择元素、事件处理

对比不使用jQuery:

<!DOCTYPE html>
<html lang="en"><head></head><body><button id='b1'>测试按钮1</button><button id='b2'>测试按钮2</button><script>let [b1,b2] = document.querySelectorAll('button')b1.addEventListener('click',()=>{alert('按钮被点击')})b2.addEventListener('click',()=>{alert('按钮被点击')})</script><body>
</html>

jQuery本身是一个构造函数,里面的参数是css选择器;jQuery('button')返回的是一个jQuery对象

,这个对象类似js的数组,里面包含了所有 参数css选择器 选中的DOM对象

jQuery对象的on方法,用来定义事件的处理

  jQuery('button').on('click', function () { alert('按钮被点击') })

其中参1为事件名称,参2为回调函数

当然还可以写成

  jQuery('button').click(function () { alert('按钮被点击') })

jQuery的简化别名$

  $('button').on('click', function () { alert('按钮被点击') })

处理键盘事件:

<head><script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
</head><body><textarea>按ctrl+回车 试试</textarea><script>$('textarea').on('keydown', function (e) { if (e.ctrlKey && e.key==='Enter')    alert('按下了ctrl+回车') })</script><body>

 元素操作

添加元素
<head><script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
</head><body><div id='content1'><p id='target1'>原来的元素1</p></div><div id='content2'><p id='target2'>原来的元素2</p></div>
</body>

添加子元素示例:

1.添加到#content1 ,作为最后一个子元素

var ele1 = $("<p>新元素1</p>");
ele1.appendTo("#content1");

还可以写成

$("<p>新元素1</p>").appendTo("#content1");

2.添加到#content1 ,作为第一个子元素

$("<p>新元素2</p>").prependTo("#content1");

3.插入到#target2前面,作为哥哥节点

$("<p>新元素3</p>").insertBefore("#target2");

4.插入到#target2后面,作为弟弟节点

$("<p>新元素4</p>").insertAfter("#target2");

注意区别:一个是div里的content;一个是p里的target

还可以:先选中要插入的元素 (jQuery就等价于document.querySelector(''))

$("#content1").append("<p>新元素1</p>");
$("#content1").prepend("<p>新元素2</p>");
$("#target2").before("<p>新元素3</p>");
$("#target2").after("<p>新元素4</p>");
删除元素

先选中,然后调用remove

$("#content1").remove()
替换元素内容

先选中,然后调用html方法,更新元素内部的html

$("#content2").html(`<p id='target3'>新元素222</p>`)

也可调用text方法,直接更新元素内部的文本内容

$("#target2").text(`新元素222`)

jQuery对元素属性的操作

获取元素属性

(jQuery对象的) attr() : 获取元素的属性 ;返回值为字符串形式

<a id="hey" style='color:green;font-size: 2rem;'  href="/" class='nav nav-item'attr1='自定义属性'>一个链接
</a><script>
let a = $('a') //先选 ;构造函数创建对象console.log(a.attr('id'))
console.log(a.attr('style'))
console.log(a.attr('href'))
console.log(a.attr('class'))
console.log(a.attr('attr1'))
</script>
设置元素属性

attr() 的第二个参数就是用来设置元素的属性的

<a id="hey" style='color:green'  href="/" attr1='自定义属性'>一个链接</a><script>
let a = $('a')a.attr('id', 'new-hey')
a.attr('style' , 'color:blue')
a.attr('href', 'https://www.byhy.net')
a.attr('attr1', '自定义属性2')
</script>
删除元素属性

removeAttr() :用于删除元素的属性

<a id="hey" style='color:green'  href="/" attr1='自定义属性'>一个链接</a><script>
let a = $('a')a.removeAttr('id')
a.removeAttr('style')
a.removeAttr('href')
a.removeAttr('attr1')
</script>
style设置

style属性较为特殊:style的属性值本身又是一个键值对

为了方便style里面的设置,只想设置元素style里的某一个样式的属性,可以使用css()

<a id="hey" style='color:green ; font-size: 2rem;'  href="/" attr1='自定义属性'>一个链接</a><script>
let a = $('a')a.css('color','red')
</script>

点击某个元素,就设置这个被点击元素的style属性:

<a id="hey" style='color:green;font-size: 2rem;'  href="#">一个链接
</a><script>$('a').click(function () {$(this).css('color', 'red');});
</script>

ps:为什么不能写成 $('a').css('color', 'red'); ------- 返回的是符合条件的所有类型的对象,而要的是一批里对应的一个;$(this)代表当前正在点击事件的对象


http://www.mrgr.cn/news/17359.html

相关文章:

  • Vue 3 Composition API 中如何正确添加表单项副本到数组
  • 单片机内存区域划分
  • SPI驱动学习二(驱动框架)
  • 网络层IP协议
  • Linux 常用命令 - hexdump 【以指定格式显示文件内容】
  • 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月1日,星期日
  • 创建 AD9361 的 vivado 工程,纯FPGA配置,不使用ARM程序
  • docker技术详解,带你全方面玩懂docker
  • 国庆节微信头像怎么制作?制作国庆国旗节日头像的4个方法
  • SpringCloud-01
  • Java-多线程机制
  • AI问答:.NET核心组成概要、程序运行步骤和查询SDK版本的方法
  • 41°29‘29.06“ N 12°31‘25.08“ E表示什么含义?
  • 力扣435-无重叠区间(Java详细题解)
  • vue,小程序,uni-app的生命周期
  • 文件上传的学习
  • FactoryBean 实战练习 - 注入自定义 Date
  • 对字符、字符串的研究
  • python3.10安装
  • Python类详解