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鼠标悬停内容动画切换效果
Apr 27 jQuery
jquery dataTable 获取某行数据
May 05 jQuery
jQuery上传插件webupload使用方法
Aug 01 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 jQuery
jQuery md5加密插件jQuery.md5.js用法示例
Aug 24 jQuery
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
Apr 10 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 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 生成随机验证码图片代码
2010/02/08 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
Vue.js构建你的第一个包并在NPM上发布的方法步骤
2019/05/01 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python 多线程Threading初学教程
2017/08/22 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
什么是python的自省
2020/06/21 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
初三家长会邀请函
2014/01/18 职场文书
我的老师教学反思
2014/05/01 职场文书
七夕情人节促销方案
2014/06/07 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
学雷锋活动简报
2015/07/20 职场文书
新学期家长寄语2016
2015/12/03 职场文书
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
Java并发编程必备之Future机制
2021/06/30 Java/Android
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android