首页
学习
活动
专区
圈层
工具
发布

前端面试比较好的回答

DNS同时使用TCP和UDP协议?DNS占用53号端口,同时使用TCP和UDP协议。 (1)在区域传输的时候使用TCP协议辅域名服务器会定时(一般3小时)向主域名服务器进行查询以便了解数据是否有变动。...// 按照类名查询querySelectorAll // 按照 css 选择器查询// 按照 id 查询var imooc = document.getElementById('imooc') //...('title')// 删除目标元素container.removeChild(targetNode)或者通过子节点数组来完成删除:// 获取目标元素的父元素var container = document.getElementById...和 content 的位置,可以考虑 insertBefore 或者 appendChild:// 获取父元素var container = document.getElementById('container...z-index属性在下列情况下会失效:父元素position为relative时,子元素的z-index失效。

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS事件篇

    -向一个父节点中添加一个子节点 整合上面操作的小案例 父节点.insertBefore(新节点,旧节点): 在指定子节点前插入新的子节点 父节点.replaceChild(新节点,旧节点): 使用指定的子节点替换已有的子节点...父节点.removeChild(子节点):删除子节点 使用innerHTML也可以完成DOM的增删改操作 阻止a标签默认行为的常用三种方式 a标签的索引问题 JS修改元素的样式 读取元素的内联样式 获取当前元素显示的样式...---只读 getComputedStyle不支持IE8 VS 元素.currentStyle支持IE8 ===》通用方法融合两者 元素.clientHeight和元素.clientWidth获取元素可见宽度和高度...u1.insertBefore(li,l1); ---- 父节点.replaceChild(新节点,旧节点): 使用指定的子节点替换已有的子节点...u1.replaceChild(li,l1); ---- 父节点.removeChild(子节点):删除子节点 ---- 使用innerHTML

    14.5K10

    测试开发进阶(十四)

    父(parent) 子(child) 同胞(sibling) 父节点拥有子节点。...同级的子节点被称为同胞(兄弟或姐妹) 获取页面标签 通过 id 找到 HTML 元素(常用) document.getElementById() 通过标签名找到 HTML 元素 获取出来的是列表getElementsByTagName...红色 如果把javascript写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载 解决办法: javascript放到页面最下边...jQuery的版本分为1.x系列和2.x、3.x系列 1.x系列兼容低版本的浏览器 2.x、3.x系列放弃支持低版本浏览器 目前使用最多的是1.x系列的。...[name=user]') 选择同胞和父辈元素 //选择div元素前面紧挨的同辈元素 $('div').prev(); //选择div元素之前所有的同辈元素 $('div').prevAll();

    1.3K30

    Linux wait() 和 waitpid()函数介绍

    父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。...现在要知道调用wait或waitpid的进程可能会发生什么情况:  如果其所有子进程都在运行,则阻塞。 如果一个子进程已经终止,正在得带的父进程获取到终止状态,则取得该子进程的终止状态立即返回。...详细的书中的表 下面的例子就是获取到子进程的终止信号。然后进行输出。...解释如下: Pid=-1,等待任一个子进程。与wait等效。 Pid>0.等待其进程ID与pid相等的子进程。 Pid==0等待其组ID等于调用进程组ID的任一个子进程。...Waitpid返回值和错误 waitpid的返回值比wait稍微复杂一些,一共有3种情况: 当正常返回的时候,waitpid返回收集到的子进程的进程ID; 如果设置了选项WNOHANG,而调用中waitpid

    2.9K50

    【Java 进阶篇】JavaScript DOM Element 对象详解

    最常用的方法是通过以下几种方式: 使用document.getElementById方法: 通过元素的id属性获取元素。...例如: var myElement = document.getElementById("myId"); 使用document.querySelector方法: 使用CSS选择器获取元素。...以下是一些常用的Element对象属性和方法: 属性 tagName:获取元素的标签名,如"DIV"或"P"。 id:获取或设置元素的id属性。 className:获取或设置元素的class属性。...getBoundingClientRect():获取元素的大小和位置信息。 querySelector(selector):选择匹配指定选择器的第一个子元素。...希望这篇博客对您在网页开发中更好地使用JavaScript DOM Element对象有所帮助。 不要害怕尝试新事物,继续探索和构建令人印象深刻的网页!

    64330

    DOM--文档对象模型

    属性 节点类型--nodeType 节点名称--nodeName 节点值--nodeValue 子节点--childNodes 父节点--parentNodes 上一个节点--previousSibling...id获取元素 id="demo">通过id获取元素 var demo = document.getElementById('demo'); demo.onclick...,id就写#,标签直接写标签名TagName 通过选择器获取标签名 通过选择器获取class id="div">通过选择器获取...console.log('通过选择器获取id') }; // 点击id为div,控制台输出"通过选择器获取id" querySelectorAll()--通过选择器获取元素集合...--判断两个元素是否相等 isSameNode--判断两个元素是否相同 两者分别代表相等和相同 (1) isEqualNode相等,指的是两个节点是否是同一类型,具有相等的属性(包括:nodeName,

    1.7K20

    由重构进阶前端开发入门 (二) 事件与事件对象

    id="txt_info"> id="btn_update">Button document.getElementById...常用 jQuery API 选择元素和创建元素使用 $(), find, filter 处理事件使用 on, off, trigger 操作元素内容使用 text, html 操作元素位置和尺寸使用 offset..., toggleClass, hasClass 父元素插入/追加/移除子元素使用 prepend, append 子元素附近插入/查找邻近元素使用 prev, next, prevAll, nextAll...子元素移除时使用 remove 查找父元素/祖先元素使用 parent, parents 掌握上述最常用也是最基本的 API 的使用方法和对应场景后,就可以实现 90% 以上的日常业务需求了。...有兴趣的同学课余可以尝试一下,使用原生 JS 兼容 IE8 和现代浏览器后,再对比上述代码,就能明白 jQuery 的强大之处了~ 附:可用的跨浏览器兼容的 jQuery 标准化事件属性 jQuery

    1.8K10

    JavaScript基础

    ="city"> id = "shanxi">山西id="zhejiang">浙江 childNodes获取当前元素的所有子节点 会获取到空白的文本子节点...= city.children; console.log(childrens.length) 推荐使用这种方式 firstChild获取当前元素的第一个子节点,会获取到空白的文本子节点 var...firstChild = city.firstChild; lastChild获取当前元素的最后一个子节点 var lastChild = city.lastChild; parentNode:获取当前元素的父元素...、边框 offsetParent 当前元素的定位父元素,离他最近的开启了定位的祖先元素,如果所有的元素都没有开启定位,则返回body offsetLeftoffsetTop 当前元素和定位父元素之间的偏移量...是否在捕获阶段触发事件,需要一个布尔值,一般都传false 使用addEventListener()可以同时为一个元素的相同事件同时绑定多个响应函数,这样当事件被触发时,响应函数将会按照函数的绑定顺序执行

    2.5K20

    javaScript 原生DOM节点操作(最实用的dom节点操作大全)

    就好像是一个家族谱,有父级元素也有对应的子级元素,那么document对象就是我们最大的父级元素。 如下图,家族谱上面的每一个元素都是一个节点,通过对这些节点的操作,我们可以对这个页面为所欲为。 ?...节点的分类 元素节点 属性节点 文本节点 节点的操作 元素节点操作 通过元素的id来获取相应的节点 document.getElementById(""); 通过元素的标签名来获取节点 document.getElementsByTagName..."); 获取元素的所有子节点 node.childNodes; 创建元素节点 document.createElement("tagName"); 往父节点最后添加子节点 fatherNode.append...选择节点的方式拿到的是一个确定的节点,其余的方式拿到的都会是一个数组,那么获取数组里面对应的节点需要用索引来取并且在Elements后面有s 例如:var body = document.ElementsByTagName...把这里搞清楚剩下的就是靠大家的细心了,有一些操作是针对父级节点的,例如node.appendChild(),还有很多,一定要分清楚父级节点和子级节点的关系,才能玩转DOM节点操作。

    2.6K20

    跨进程同步难题?一个通用进程互斥锁的封装与实现

    进程 1: 在持有锁时异常退出 3. 验证其他进程能否检测并恢复锁状态 进程 1: 启动,准备竞争锁... 进程 1: 成功获取锁,正在访问资源(第1次) 进程 2: 启动,准备竞争锁......174 ProcMutex W: Mutex owner died, trying to recover 进程 3: 成功获取锁,正在访问资源(第1次) 父进程:子进程 15076: 异常退出,信号 6...进程 3: 成功获取锁,正在访问资源(第2次) 进程 3: 释放锁,等待下一次竞争... 进程 3: 成功获取锁,正在访问资源(第3次) 进程 3: 释放锁,等待下一次竞争......进程 2: 正常退出 父进程:子进程 15077: 正常退出,退出码 0 父进程:子进程 15078: 正常退出,退出码 0 === 演示结束 === 通过演示能够发现进程1在持锁状态崩溃时,进程2...和进程3能够从阻塞状态恢复并正常获取锁。

    36010

    阿里三面:灵魂拷问——有react fiber,为什么不需要vue fiber?

    为了佐证,我分别用react和vue写了一个demo,功能很简单:父组件嵌套子组件,点击父组件的按钮会修改父组件的状态,点击子组件的按钮会修改子组件的状态。...本文会用组件渲染和页面渲染对两者做区分。...在新的架构中,每个节点有三个指针:分别指向第一个子节点、下一个兄弟节点、父节点。...这种数据结构就是fiber,它的遍历规则如下: 从根节点开始,依次遍历该节点的子节点、兄弟节点,如果两者都遍历了,则回到它的父节点; 当一个节点的所有子节点遍历完成,才认为该节点遍历完成; 根据这个规则...后台回复【三角形案例】获取在线连接 实操一下,可以发现两个特点: 使用新架构后,动画变得流畅,宽度的变化不会卡顿; 使用新架构后,用户响应变快,鼠标悬停时颜色变化更快; 看到到这里先稍微停一下,这两点都是

    1.1K30

    烟雨之间:进程间通信,在匿名管道中流淌的进程低语

    sleep 20000 & 可以看出,两个 sleep 进程的 PPID 一致,同时 PID 连续,因此这两个进程是兄弟关系 管道分为 匿名管道 和 命名管道,两者绝大部分原理、特点都一致,本文主要介绍...,此时会分配两个 fd fork 创建子进程,子进程拥有自己的进程系统信息,同时会继承原父进程中的文件系统信息,此时子进程和父进程可以看到同一份资源:匿名管道 pipe 因为子进程继承了原有关系...,父进程为写端 6.1、场景一 父进程不写,此时管道为空,子进程尝试读取 伪代码段 // 父进程不写(空),子进程读 //子进程(尝试读取) int cnt = 1; while (true) {...,父进程将创建好的子进程信息注册 假设子进程获取了任务代号,那么应该根据任务代号,去执行相应的任务,否则阻塞等待 注意: 因为是创建子进程,所以存在关系重复继承的情况,此时应该统计当前子进程的写端 fd...注册子进程信息时,存储的是 写端 fd,目的是为了通过此fd向对应的子进程写数据,即使用不同的匿名管道 创建管道后,需要关闭父、子进程中不必要的fd 需要特别注意父进程写端 fd 被多次继承的问题,避免因写端没有关干净

    18410

    深入理解 DOM 事件机制

    滚轮事件,当使用鼠标滚轮或类似设备时触发,如:mousewheel 文本事件,当在文档中输入文本时触发,如:textInput 键盘事件,当用户通过键盘在页面上执行操作时触发,如:keydown、keypress...合成事件,当为IME(输入法编辑器)输入字符时触发,如:compositionstart 变动事件,当底层DOM结构发生变化时触发,如:DOMsubtreeModified 同时 DOM3 级事件也允许使用者自定义一些事件...二、DOM 事件模型和事件流 DOM事件模型分为捕获和冒泡。一个事件发生后,会在子元素和父元素之间传播(propagation)。这种传播分成三个阶段。...stopImmediatePropagation后,点击按钮时,不仅body绑定事件不会触发,与此同时按钮的另一个点击事件也不触发。...event.target & event.currentTarget 老实说这两者的区别,并不好用文字描述,我们先来看个例子: id="a"> id="b"> <div

    3.3K50

    Linux进程间通信【匿名管道】

    管道分为 匿名管道 和 命名管道,两者绝大部分原理、特点都一致,本文主要介绍 匿名管道,同时适用于 命名管道 的知识点统一称为 管道 Linux 中一切皆文件,所以管道本质上就是一个文件 ---- 3...、写的方式打开匿名管道,此时会分配两个 fd fork 创建子进程,子进程拥有自己的进程系统信息,同时会继承原父进程中的文件系统信息,此时子进程和父进程可以看到同一份资源:匿名管道 pipe 因为子进程继承了原有关系...,父进程为写端 6.1、场景一 父进程不写,此时管道为空,子进程尝试读取 伪代码段 // 父进程不写(空),子进程读 //子进程(尝试读取) int cnt = 1; while (true) {...假设子进程获取了任务代号,那么应该根据任务代号,去执行相应的任务,否则阻塞等待 注意: 因为是创建子进程,所以存在关系重复继承的情况,此时应该统计当前子进程的写端 fd,在创建下一个进程时,关闭无关的...,以下关键点还是值得多注意的 注册子进程信息时,存储的是 写端 fd,目的是为了通过此 fd 向对应的子进程写数据,即使用不同的匿名管道 创建管道后,需要关闭父、子进程中不必要的 fd 需要特别注意父进程写端

    59620

    获取DOM节点的方法汇总

    1.原生获取DOM节点的方法 1.1 通过顶层document节点获取: document.getElementById("ID") document.getElementsByName("Name")...1.2 通过父节点获取: parentObj.firstChild:获取父节点下的第一个子节点(会将空格和换行计入),这个属性是可以递归使用的,即支持parentObj.firstChild.firstChild...parentObj.firstElementChild:获取父节点下的第一个子元素节点 parentObj.lastChild:获取父节点下的最后一个子节点(会将空格和换行计入)。...parentObj.lastElementChild:获取父节点下的最后一个子元素节点 parentObj.childNodes:获取父节点下的所有直接子节点(会将空格和换行计入) parentObj.children...(如:element.childNodes)时,实际上返回的是包含一些DOM节点的集合,这个集合要么是 HTMLCollection,要么是 NodeList,两者其实都是类数组的对象。

    4.8K10

    一年前端面试打怪升级之路

    z-index属性在下列情况下会失效:父元素position为relative时,子元素的z-index失效。...id="title">我是标题 要求添加一个有内容的 span 节点到 id 为 title 的节点后面,做法就是:// 首先获取父节点...('title')// 删除目标元素container.removeChild(targetNode)或者通过子节点数组来完成删除:// 获取目标元素的父元素var container = document.getElementById...和 content 的位置,可以考虑 insertBefore 或者 appendChild:// 获取父元素var container = document.getElementById('container...当使用后代选择器的时候,浏览器会遍历所有子元素来确定是否是指定的元素等等;(2)如果规则拥有ID选择器作为其关键选择器,则不要为规则增加标签。

    559100

    前端中存在的变量劫持漏洞

    0x1 基础知识 当页面存在iframe的时候,父页面和子页面是可以相互获取到对方的window对象的,主要利用下面的方法。...父访问子: document.getElementById("iframe1").contentWindow; // 获取iframe的window对象 window.frames[0]; // 获取iframe...//获取上一级的window对象,如果还是iframe则是该iframe的window对象 window.top ; // 获取最顶级容器的window对象,即,就是你打开页面的文档 如果父和子页面是同源的...(父页面可以获取子页面的window对象,然后通过frames获取孙页面的window对象,然后修改location) 爷修改孙,演示如下: <!...(此问题文章最后演示) 另外我们知道,如果在页面中定义两个id一样的元素之后,这样使用 document.getElementById 就无法获取到这个id了,但是并不意味着着全局变量就不存在了,看下面这个实验

    92520

    javascript实例:逐条记录停顿的走马灯

    效果: 需求: 1.记录循环滚动; 2.每组记录之间不能有留白; 3.每条记录上移到容器的顶部时要停顿一下; 4.鼠标移入容器时停止滚动,移出时继续滚动。...曾想用的实现方法: 1.使用Marquee:本来想用Marquee搞定,使用十分方便,但不满足需求2,3,加上只能用于IE浏览器。。。。。。。。...2.使用Jquery:我没有学过Jquery,只是简单调用同事的方法,但发现居然出现语法错误,同事也只是从网上拷过来不懂得哪里出错。。。。。。 于是只好硬着头皮自己写一个吧!...当容器的position设置为relative时子元素的offsetTop才是子元素离容器上边框的距离,否则为子元素离浏览器工作区上边框的距离。...因为offsetTop为只读,最终控制元素位置要用style.top,而两者表达的含义又有所区别,所以这里我直接用style.top来获取定位和设置定位。

    1.8K50
    领券