jQuery常见面试题之DOM操作详析


Posted in jQuery onJuly 05, 2017

前言

关于JQ的DOM操作面试问题很多,可以从各个点问,所以列举几个常见问题,毕竟面试只是过程,重要的是知识自己掌握了。

面试题一:JQ中html()、text()和val()区别?

面试题二:JQ中find()、has()和filter()区别?

面试题三: closet()和parents()区别?

答案请在文中查找...

DOM操作有三类:DOM-core、HTML-DOM 、CSS-DOM

一、插入节点

我们用的最多的就是append和apendTo,其实共有8种方法。

jQuery常见面试题之DOM操作详析
插入节点

二、删除节点

remove() :删除节点,并删除元素节点绑定的事件。

empty() :清空节点元素的内容,类似$().html(' ')

三、克隆(复制)节点

$().clone() ,只复制节点,不复制方法和事件。

添加clone(true) ,不仅复制节点,也复制方法,也叫深度克隆。

四、替换节点

$('new').replaceWith('old')  ,返回new元素。

$('old').replaceAll('new') ,返回old元素。

如果在替换之前,已为元素绑定事件,替换后原有绑定事件将会被替换的元素一起消失,需要在新元素上重新绑定事件。

五、包裹节点

$('span').wrapAll('<div>') :将所有元素用一个元素包裹。

wrap() :将所有元素单独包裹。

wrapInner:包裹元素内容。

unwrap() :删除包裹,删除父元素,不包含body。

六、遍历节点

children() :只考虑子元素,不考虑后代元素。

next() :同辈紧邻后面一个元素。

nextAll() :同辈紧邻后面所有兄弟元素。

prev() :同辈紧邻前一个兄弟元素。

prevAll() :同辈紧邻前所有兄弟元素。

siblings() :同辈所有兄弟元素。

find('span') :返回被选元素的后代元素,括号内必填写,如果查找所有后代使用 "*",起查找作用。

filter('div') :指定选择器的xx元素,括号内必填写,符合条件的同级元素,非后代元素,起过滤作用。

has(‘div') :符合条件的后代元素,不包含自身,括号内必填写,起过滤作用。

parents() :获取所有祖先元素,参数为筛选条件。

closest(‘.new') :用来取得最近的匹配元素,包括自身。首选检查自身是否符合,如果符合返回元素本身;如果不匹配,向上查找父元素,逐级向上直到匹配到选择器的元素。如果什么没找到,返回一个空的jq对象。必须填写筛选条件,且只能找到一个元素。

parentsUntil() :截止到xx位置的祖先节点。

七、属性及样式操作

$().css() :修改css样式。设置后,显示为内联样式。

$().attr('title') :获取title属性。

$().removeAttr(title') :删除title属性。

$().addClass(‘new') :添加class的名字,不是选择器,故不是“.new”。

$().removeClass(‘new') :与上相反。

$().toggle()

$().toggleClass()

$().hasClass() :判断某元素是否有某个class。

八、内容操作

$().html() :获取内容,含html标签,可以用于XHTML,但不能用于XML。

$().text() :获取文本内容,不含标签。可以用于XHTML和XML,支持所有浏览器,原生innerText火狐不支持。

$().val() :获取表单元素的内容。

下面说说三者的异同点:

jQuery常见面试题之DOM操作详析
异同点

九、其它节点操作

$('div').slice(1,4) ,获取满足条件的div。

$('div').add('p').css() ,自由组合添加样式,给div和p都添加公有的样式。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

jQuery 相关文章推荐
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
jquery+ajaxform+springboot控件实现数据更新功能
Jan 22 jQuery
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
jquery实现的放大镜效果示例
Feb 24 jQuery
jQuery编写QQ简易聊天框
Aug 27 jQuery
jQuery实现图片切换效果
Oct 19 jQuery
jQuery实现计算器功能
Oct 19 jQuery
jQuery使用ajax_动力节点Java学院整理
Jul 05 #jQuery
jQuery扩展_动力节点Java学院整理
Jul 05 #jQuery
jQuery选择器_动力节点Java学院整理
Jul 05 #jQuery
jQuery事件_动力节点Java学院整理
Jul 05 #jQuery
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 #jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 #jQuery
jquery拖动改变div大小
Jul 04 #jQuery
You might like
WordPress判断用户是否登录的代码
2011/03/17 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
JavaScript实现图片放大镜效果
2019/06/27 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
岳父生日宴会答谢词
2014/01/13 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
六查六看六改心得体会
2014/10/14 职场文书
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏