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插件制作 自增长输入框实现代码
Aug 17 jQuery
jQuery表单验证之密码确认
May 22 jQuery
jQuery导航条固定定位效果实例代码
May 26 jQuery
jquery.uploadView 实现图片预览上传功能
Aug 10 jQuery
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
详解jQuery中的easyui
Sep 02 jQuery
jquery登录的异步验证操作示例
May 09 jQuery
jQuery实现鼠标滑动切换图片
May 27 jQuery
jQuery实现滑动开关效果
Aug 02 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通过获取头信息判断图片类型的方法
2015/06/26 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
企业厂长岗位职责
2013/12/17 职场文书
总裁办公室主任职责
2014/01/02 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
团队激励口号
2014/06/06 职场文书
银行授权委托书范本
2014/10/04 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python