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 表单序列化实例代码
Jun 11 jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
一文快速了解JQuery中的AJAX
May 31 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
jQuery实现的图片点击放大缩小功能案例
Jan 02 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
jquery插件实现搜索历史
Apr 24 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实现随机数字、字母的验证码功能
2018/08/01 PHP
php fread函数使用方法总结
2019/05/28 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
Element Input组件分析小结
2018/10/11 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
Vue CL3 配置路径别名详解
2019/05/30 Javascript
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
Python 编码处理-str与Unicode的区别
2016/09/06 Python
python如何修改装饰器中参数
2018/03/20 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
python 内置模块详解
2019/01/01 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
python中remove函数的踩坑记录
2021/01/04 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
校园十大歌手策划书
2014/02/01 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
企业委托书范本
2014/09/13 职场文书
2014年司机工作总结
2014/11/21 职场文书
西双版纳导游词
2015/02/03 职场文书