jquery 中 detach()和 remove()方法的区别+attr 和 prop 的区别

91 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天
点击查看活动详情
一、jQuery 中的事件冒泡是怎么执行的,如何阻止事件冒泡
事件冒泡是从里面的往外面开始触发。
阻止事件冒泡可以通过以下 3 种方式:
1.使用 stopstopPropagation;
2.使用 retrun false;
3.使用阻止默认行为 preventDefault;

二、jQuery 中的 bind(), live(), delegate(), on()的区别
bind 直接绑定在目标元素上
live 通过冒泡传播事件,默认 document 上,支持动态数据
delegate 更精确的小范围使用事件代理,性能优于 live
on 是最新的 1.9 版本整合了之前的三种方式的新事件绑定机制

三、jQuery 中 detach()和 remove()方法的区别是什么
detach()和 remove()作用相同,即移除被选元素,包括所有文本和子节点不同之处在于 detach():移除被选元素,包括所有文本和子节点。会保留所有绑定的事件、附加的数据.
remove():移除被选元素,包括所有文本和子节点。绑定的事件、附加的数据等都会被移除。

四、(this)this关键字在jQuery中有何不同<br>(this)和 this 关键字在 jQuery 中有何不同<br> (this)返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text()获取文本,用val()获取值等等。
而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被()函数包裹,例如()函数包裹,例如(this)。

五、jquery 中 attr 和 prop 的区别
对于 html 元素本身就带有的固定属性(本身就带有的属性),在处理时,使用 prop 方法可以操作布尔类型的属性
对于 html 元素我们自己定义的 dom 属性,在处理时,使用 attr 方法不可以操作布尔类型的属性 删除
这个例子里的元素的 dom 属性值有"id、href、class 和 action",很明显,前三个是固有属性,而后面一个 action 属性是我们自己定义上去的
元素本身是没有属性的。这种就是自定义的 dom 属性。处理这些属性时,建议使用 attr 方法,使用 prop 方法对自定义属性取值和设置属性值时,都会返回 undefined 值。
像 checkbox,radio 和 select 这样的元素,选中属性对应“checked”和"selected",这些也属于固有属性,因此需要使用 prop 方法去操作才能获取正确答案