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 相关文章推荐
简单谈谈require模块化jquery和angular的问题
Jun 23 jQuery
jQuery:unbind方法的使用详解
Aug 14 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
jqueryUI tab标签页代码分享
Oct 09 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
jQuery轮播图实例详解
Aug 15 jQuery
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jquery实现抽奖功能
Oct 22 jQuery
jquery插件实现搜索历史
Apr 24 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
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
Less 安装及基本用法
2018/05/05 Javascript
vue中轮训器的使用
2019/01/27 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
python获取android设备的GPS信息脚本分享
2015/03/06 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
荷叶圆圆教学反思
2014/02/01 职场文书
出纳担保书范文
2014/04/02 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
发票退票证明
2015/06/24 职场文书
医院病假条范文
2015/08/17 职场文书
详解Python内置模块Collections
2022/03/22 Python
基于Python实现西西成语接龙小助手
2022/08/05 Golang