约定
- jQuery 对象变量前加
$
元素
- 查找
- 执行
.val()
:匹配第一个值#方法
Events 事件
- Event Object 事件对象
event.preventDefault()
:阻止元素发生默认的行为event.target
:返回那个 DOM 元素触发了事件event.currentTarget
:当前 DOM 元素(通常等同于this
)event.type
:返回事件类型
- 加载
reqdy()
:页面完全加载时
- 鼠标:mouse
click
:点击事件
- 表单:form
示例
事件绑定写法
以 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 function
e.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: