美文网首页Web前端之路让前端飞程序员
JQ常见面试题之DOM操作详解

JQ常见面试题之DOM操作详解

作者: 提小莫 | 来源:发表于2017-07-02 23:35 被阅读542次

关于JQ的DOM操作面试问题很多,可以从各个点问,所以列举几个常见问题,毕竟面试只是过程,重要的是知识自己掌握了。

面试题一:JQ中html()、text()和val()区别?

面试题二:JQ中find()、has()和filter()区别

面试题三: closet()和parents()区别?

答案请在文中查找...

DOM操作有三类:DOM-core、HTML-DOM 、CSS-DOM

1.插入节点

我们用的最多的就是append和apendTo,其实共有8种方法。

插入节点

2.删除节点

remove():删除节点,并删除元素节点绑定的事件。

empty():清空节点元素的内容,类似$().html(' ')。

3.克隆(复制)节点

$().clone(),只复制节点,不复制方法和事件。

添加clone(true),不仅复制节点,也复制方法,也叫深度克隆。

4.替换节点

$('new').replaceWith('old') ,返回new元素。

$('old').replaceAll('new'),返回old元素。

如果在替换之前,已为元素绑定事件,替换后原有绑定事件将会被替换的元素一起消失,需要在新元素上重新绑定事件。

5.包裹节点

$('span').wrapAll('<div>'):将所有元素用一个元素包裹。

wrap():将所有元素单独包裹。

wrapInner:包裹元素内容。

unwrap():删除包裹,删除父元素,不包含body。

6.遍历节点

children():只考虑子元素,不考虑后代元素。

next():同辈紧邻后面一个元素。

nextAll():同辈紧邻后面所有兄弟元素。

prev():同辈紧邻前一个兄弟元素。

prevAll():同辈紧邻前所有兄弟元素。

siblings():同辈所有兄弟元素。

find('span'):返回被选元素的后代元素,括号内必填写,如果查找所有后代使用 "*",起查找作用。

filter('div'):指定选择器的xx元素,括号内必填写,符合条件的同级元素,非后代元素,起过滤作用。

has(‘div’):符合条件的后代元素不包含自身,括号内必填写,起过滤作用。

parents():获取所有祖先元素,参数为筛选条件。

closest(‘.new’):用来取得最近的匹配元素,包括自身。首选检查自身是否符合,如果符合返回元素本身;如果不匹配,向上查找父元素,逐级向上直到匹配到选择器的元素。如果什么没找到,返回一个空的jq对象。必须填写筛选条件,且只能找到一个元素。

parentsUntil():截止到xx位置的祖先节点。

7.属性及样式操作

$().css({'background-color':'red'}):修改css样式。设置后,显示为内联样式。如果值为数字,jq自动转为xx像素。{'background-color':'red'}也可写成{backgroundColor:'red'},建议采用前一种方式,以为其底层就是哈希数组。


$().attr('title'):获取title属性。

$().removeAttr(title'):删除title属性。

$().addClass(‘new’):添加class的名字,不是选择器,故不是“.new”。

$().removeClass(‘new’):与上相反。

$().toggle():

$().toggleClass():

$().hasClass():判断某元素是否有某个class。

8.内容操作

$().html() :获取内容,含html标签,可以用于XHTML,但不能用于XML

$().text():获取文本内容,不含标签。可以用于XHTML和XML,支持所有浏览器,原生innerText火狐不支持。

$().val():获取表单元素的内容。

下面说说三者的异同点:

异同点

9.其它节点操作

$('div').slice(1,4),获取满足条件的div。

$('div').add('p').css(),自由组合添加样式,给div和p都添加公有的样式。

相关文章

  • JQ常见面试题之DOM操作详解

    关于JQ的DOM操作面试问题很多,可以从各个点问,所以列举几个常见问题,毕竟面试只是过程,重要的是知识自己掌握了。...

  • jQ DOM操作之遍历

    一.祖先1 .parent() — 返回被选元素的直接父元素 2.1 .parent() — 返回被选...

  • JQ随笔

    JQ DOM操作 var div=$("

    ")//创建新标签 ...

  • jQ DOM操作之增删改

    第一部分:创建 1.创建元素节点 $(' ')$(' ')$(' ')$(' 我是个div节点 ')$(' ')...

  • Vue 基础篇

    Vue 基础篇 一、框架与库的区别 JQ库->DOM(DOM操作) + Ajax请求 art-template库-...

  • vue 2x源码分析(三)---虚拟dom

    以前用jq,我们都是直接操作dom,为什么要使用虚拟dom,虚拟dom的优势是什么,虚拟dom是如何实现的,vue...

  • jQuery3:操作DOM

    如何用jQ操作DOM: 增: 1 jQuery增加标签 var $div = $("

    ") 2 ...

  • JQ常见面试题之选择器详解

    面试题:css选择器和jq选择器的相同点和不同点,你怎么使用的? 其实我觉得面试题是小事,主要是我们要掌握这些知识...

  • JQ

    一、jq、DOM转换 jq->DOM: $().get(0) 或 $()[0] 二、获取元素: eve...

  • jQuery相关API总结

    JQ操作DOM属性节点相关方法(包含类的操作) 属性节点就是指dom元素的属性 一般如果是标签自身自带的属性,我们...

网友评论

    本文标题:JQ常见面试题之DOM操作详解

    本文链接:https://www.haomeiwen.com/subject/mvptcxtx.html