源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jQuery常见面试题之DOM操作详析

  • 时间:2020-03-23 18:04 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jQuery常见面试题之DOM操作详析
[b]前言[/b] 关于JQ的DOM操作面试问题很多,可以从各个点问,所以列举几个常见问题,毕竟面试只是过程,重要的是知识自己掌握了。 [b]面试题一:JQ中html()、text()和val()区别?[/b] [b]面试题二:JQ中find()、has()和filter()区别?[/b] [b]面试题三: closet()和parents()区别?[/b] 答案请在文中查找... DOM操作有三类:DOM-core、HTML-DOM 、CSS-DOM [b]一、插入节点[/b] 我们用的最多的就是append和apendTo,其实共有8种方法。 [img]http://files.jb51.net/file_images/article/201707/201775112626521.jpg?20176511283[/img] 插入节点 [b]二、删除节点[/b] [code]remove() [/code]:删除节点,并删除元素节点绑定的事件。 [code]empty()[/code] :清空节点元素的内容,类似[code]$().html(' ')[/code] 。 [b]三、克隆(复制)节点[/b] [code]$().clone() [/code],只复制节点,不复制方法和事件。 添加[code]clone(true)[/code] ,不仅复制节点,也复制方法,也叫深度克隆。 [b]四、替换节点[/b] [code]$('new').replaceWith('old')[/code]  ,返回new元素。 [code]$('old').replaceAll('new')[/code] ,返回old元素。 如果在替换之前,已为元素绑定事件,替换后原有绑定事件将会被替换的元素一起消失,需要在新元素上重新绑定事件。 [b]五、包裹节点[/b] [code]$('span').wrapAll('<div>')[/code] :将所有元素用一个元素包裹。 [code]wrap() [/code]:将所有元素单独包裹。 wrapInner:包裹元素内容。 [code]unwrap() [/code]:删除包裹,删除父元素,不包含body。 [b]六、遍历节点[/b] [code]children()[/code] :只考虑子元素,不考虑后代元素。 [code]next() [/code]:同辈紧邻后面一个元素。 [code]nextAll() [/code]:同辈紧邻后面所有兄弟元素。 [code]prev()[/code] :同辈紧邻前一个兄弟元素。 [code]prevAll()[/code] :同辈紧邻前所有兄弟元素。 [code]siblings()[/code] :同辈所有兄弟元素。 [code]find('span') [/code]:返回被选元素的后代元素,括号内必填写,如果查找所有后代使用 "*",起查找作用。 [code]filter('div')[/code] :指定选择器的xx元素,括号内必填写,符合条件的同级元素,非后代元素,起过滤作用。 [code]has(‘div') [/code]:符合条件的后代元素,不包含自身,括号内必填写,起过滤作用。 [code]parents() [/code]:获取所有祖先元素,参数为筛选条件。 [code]closest(‘.new') [/code]:用来取得最近的匹配元素,包括自身。首选检查自身是否符合,如果符合返回元素本身;如果不匹配,向上查找父元素,逐级向上直到匹配到选择器的元素。如果什么没找到,返回一个空的jq对象。必须填写筛选条件,且只能找到一个元素。 [code]parentsUntil()[/code] :截止到xx位置的祖先节点。 [b]七、属性及样式操作[/b] [code]$().css()[/code] :修改css样式。设置后,显示为内联样式。 [code]$().attr('title')[/code] :获取title属性。 [code]$().removeAttr(title') [/code]:删除title属性。 [code]$().addClass(‘new')[/code] :添加class的名字,不是选择器,故不是“.new”。 [code]$().removeClass(‘new') [/code]:与上相反。 [code]$().toggle() [/code]: [code]$().toggleClass() [/code]: [code]$().hasClass() [/code]:判断某元素是否有某个class。 [b]八、内容操作[/b] [code]$().html()[/code] :获取内容,含html标签,可以用于XHTML,但不能用于XML。 [code]$().text() [/code]:获取文本内容,不含标签。可以用于XHTML和XML,支持所有浏览器,原生innerText火狐不支持。 [code]$().val() [/code]:获取表单元素的内容。 [b]下面说说三者的异同点:[/b] [img]http://files.jb51.net/file_images/article/201707/201775113448201.png?201765113457[/img] 异同点 [b]九、其它节点操作[/b] [code]$('div').slice(1,4)[/code] ,获取满足条件的div。 [code]$('div').add('p').css()[/code] ,自由组合添加样式,给div和p都添加公有的样式。 [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部