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中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
简单实现jQuery上传图片显示预览功能
Jun 29 jQuery
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jquery实现动态添加附件功能
Oct 23 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
jQuery实现评论模块
Aug 19 jQuery
jQuery实现简单QQ聊天框
Aug 27 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 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
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
JS 判断代码全收集
2009/04/28 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
javascript定义函数的方法
2010/12/06 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
mysql 之通过配置文件链接数据库
2017/08/12 Python
Python与R语言的简要对比
2017/11/14 Python
python的re正则表达式实例代码
2018/01/24 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
pymysql的简单封装代码实例
2020/01/08 Python
python构造函数init实例方法解析
2020/01/19 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
最小二乘法及其python实现详解
2020/02/24 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
老人祝寿主持词
2014/03/28 职场文书
律师授权委托书范本
2014/10/07 职场文书
房屋租赁协议书
2014/10/18 职场文书
专业见习报告范文
2014/11/03 职场文书
2015年党总支工作总结
2015/05/25 职场文书
入党介绍人考察意见
2015/06/01 职场文书
会计做账心得体会
2016/01/22 职场文书
500字作文之难忘的同学
2019/12/20 职场文书