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 相关文章推荐
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 jQuery
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
jQuery中$原理实例分析
Aug 13 jQuery
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 jQuery
jQuery实现消息弹出框效果
Dec 10 jQuery
jquery实现聊天机器人
Feb 08 jQuery
JQuery复选框全选效果如何实现
May 08 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
ThinkPHP中redirect用法分析
2014/12/05 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
python属于跨平台语言码
2020/06/09 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
《雨点儿》教学反思
2014/04/14 职场文书
促销活动总结模板
2014/07/01 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
小学生暑假生活总结
2015/07/13 职场文书
创业计划书之家教托管
2019/09/25 职场文书