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插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
jQuery复合事件用法示例
Jun 10 jQuery
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
通过jquery.cookie.js实现记住用户名、密码登录功能
Jun 20 jQuery
jQuery实现获取form表单内容及绑定数据到form表单操作分析
Jul 03 jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
jquery css实现流程进度条
Mar 26 jQuery
jquery实现简单拖拽效果
Jul 20 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中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
PHP children()函数讲解
2019/02/03 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
ES6 十大特性简介
2020/12/09 Javascript
Python中实现三目运算的方法
2015/06/21 Python
python线程中同步锁详解
2018/04/27 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
副总经理工作职责
2013/11/28 职场文书
财务经理的岗位职责
2013/12/17 职场文书
中考冲刺决心书
2014/03/11 职场文书
马智宇结婚主持词
2014/04/01 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
中秋联欢会主持词
2015/07/04 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
解决 redis 无法远程连接
2022/05/15 Redis