约定
- jQuery 对象变量前加
$
元素
- 查找
- 执行
.val():匹配第一个值 #方法
Events 事件
- Event Object 事件对象
event.preventDefault():阻止元素发生默认的行为event.target:返回那个 DOM 元素触发了事件event.currentTarget:当前 DOM 元素(通常等同于this)event.type:返回事件类型
- 加载
reqdy():页面完全加载时
- 鼠标:mouse
click:点击事件
- 表单:form
change:元素值发生变化时 #select #textarea #text
示例
事件绑定写法
以 click 为例 // 方法一:on $("#test").on("click", function() { alert('点击') })
// 方法二 $("#test").click(function() { alert('点击') })
// 方法三:bind(3.0 已启用) $("#test").bind("click", function() { alert('点击') })加载渲染后的 HTML 代码片段
$.ajax({ url: url, type: 'GET', dataType: 'html', async: false, success: function (data) { $('#id').append(data); // 添加到节点 } })checkbox 全选/反选
获取选中 rodio
$('input:radio:checked').val();
$("input[type='radio']:checked").val();
$("input[name='rd']:checked").val();参考
属性
.data$(#myID).data(<name>):获取指定 data 属性值$(#myID).data(<name>, <value>):设置指定 data 属性值 这个方法修改后源代码看不到变化,可改用 attr 修改attr(data-<name>, value)
筛选
- 查找
.find():从当前元素向下查找,返回匹配 ?.children():向下遍历一层级.closest:从当前元素向上遍历,返回匹配的第一个祖元素.parents():从父元素向上遍历,返回匹配的所有祖元素.parent():返回父元素.prev():返回父节点的同级元素
siblings
img_this.parent().siblings('.review-tags').html(`<span class="bg-green-100 text-green-800 text-sm font-medium mr-2 px-2.5 py-0.5 rounded dark:bg-green-200 dark:text-green-900">${tag_name}</span>`)问题
event.currentTarget使用.closest后无法再次使用.find()等方法查找
// 问题场景:Bootstrap-Table button 事件// 报错 .find is not a functione.target.closest(".test").find('title')// 正常$(e.target).closest(".test").find('title')说明
$("#id")和document.getElementById("id")的区别- **$(“#id”)**返回的是 jQuery 对象:
[object Object]$("#id")[0]或$("#id").get(0)也可以返回 DOM 对象,但有区别
- **document.getElementById(“id”)**返回的是 DOM 对象:
[object HTMLDivElement]
- **$(“#id”)**返回的是 jQuery 对象:
- jQuery 对象和 DOM 对象互转
- jQuery 转 DOM:
$("#id")[0]或$("#id").get(0)(抽取 jQuery 集合的一项) - DOM 转 jQuery:
$(document.getElementById("id"))(使用$()包裹 DOM)
- jQuery 转 DOM: