首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js如何引用同级元素

具体效果 示例效果 https://coder.itclan.cn/fontend/js/17-yinyong-tongji-elem/ 具体描述 在网页中,同级(兄弟)元素,指的是拥有相同直接父级元素元素...,并且往往指的是同类元素,同类元素在实际开发中遇到比较多 比如:列表li,并列按钮等,当需要做一些特殊效果时,可以对其他同级元素进行一些操作,满足特定网页要求 比如:隔行填充颜色等 原生方法实现...以下是通过原生js实现,点击按钮时,获取按钮 // 获取同级按钮元素value function getLevelBtnVal(btn) { var p = btn.parentNode...,同级元素拥有相同父级元素都是p,那么就可以得到除自身以外同级元素,如果还需要排除同一类别的话,那么可以使用节点nodeType属性来加以区别 Vue版本实现 在Vue里面,就不用类似原生js...,就几行代码,相比原生js实现是比较简单,但是原生js操作依旧还是要知道

7.8K40

vue同级组件传

61c0f6ae-c51f-49b1-820d-9ecf340640e1.png 侧边栏是aside组件,上面是toolbar组件,现在希望点击侧边栏每个路由都能在toolbar的当前位置处及时更新相应...,大型应用通常使用vuex管理这部分功能,由于同级组件不能直接传,需要一个中间件,我们可以先将数据传递给公共父组件,然后父组件再将数据传递给需要子组件。...定义了一个公共文件 eventBus.js ,只是创建一个空vue实例 import Vue from 'vue' export default new Vue() 在需要通信同级组件中分别引入eventBus.js.../store/eventBus.js' 在Aside.vue中,通过$emit将事件和参数传递给Toolbar.vue methods: { nowPos() { bus....html前调用,即通常初始化某些属性,然后再渲染成视图。

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

CSS浮动为什么不会遮盖同级元素

问题: W3CSchool中讲解CSS定位,浮动那一节中,明确说对框1进行向左浮动时会遮住框2,原因是浮动后,元素脱离了文档流,不占据空间,想左或向右移动直至左右两边碰到包含框两边。...图中红框这句话,明明说到对框进行浮动时,会脱离文档流,若向右浮动直到,直到它右边框碰到包含框右边缘,随后便说道,若向左浮动,脱离文档流并向左移动,直到它左边缘碰到包含框左边缘。...因为这样,就会导致原有的框被浮动框覆盖。 按照W3CSchool理解,怎么也不明白为什么我测试源码中,框中图片并没有覆盖另一个框中图片呢?...W3CSchool是权威教程,正确性经得住考验,但是有些细节还是说不太明确。我问题就出现上图中红框中那句话。 这句话容易产生误导,浮动框会脱离文档流,因此不占用文档中空间。...因此,上图中红框中那句成立前提是:浮动框在移动过程中,碰到框没有内容或者框内内容会自我调整位置以防止被覆盖。比如标签中文本遇到浮动框就自我调整位置,以防止被覆盖。

1.2K20

js、jQuery 获取文档、窗口、元素各种

(其会受滚动条影响,相当于整个文档,整个页面的Y) IE9之下并不支持这个属性 clientY: 鼠标相对于浏览器窗口左上角偏移(其不会受滚动条影响,相对于滚动条当前位置浏览窗口...在当前触发鼠标事件元素和它祖先元素中找到最近具有定位属性元素,计算鼠标与其偏移, 以找到元素border左上角外交点作为相对点。...offsetY : offsetY和layerY不同在于,前者在计算偏移时,相对于元素border左上角内交点, 因此当鼠标位于元素border上时,偏移是一个负值...另外offsetY并不在乎触发事件元素是否有定位属性,它总是相对于触发事件元素来计算偏移。...2.在元素具有上边框border-top情况下, layerY比offsetY多一个border-top宽度

14K32

CSS浮动为什么不会遮盖同级元素

原因是浮动后,元素脱离了文档流,不占据空间,想左或向右移动直至左右两边碰到包含框两边。...原文截图如下: image.png 图中红框这句话,明明说到对框进行浮动时,会脱离文档流,若向右浮动直到,直到它右边框碰到包含框右边缘,随后便说道,若向左浮动,脱离文档流并向左移动,直到它左边缘碰到包含框左边缘...因为这样,就会导致原有的框被浮动框覆盖。 按照W3CSchool理解,怎么也不明白为什么我测试源码中,框中图片并没有覆盖另一个框中图片呢?...W3CSchool是权威教程,正确性经得住考验,但是有些细节还是说不太明确。我问题就出现上图中红框中那句话。 这句话容易产生误导,浮动框会脱离文档流,因此不占用文档中空间。...因此,上图中红框中那句成立前提是:浮动框在移动过程中,碰到框没有内容或者框内内容会自我调整位置以防止被覆盖。比如标签中文本遇到浮动框就自我调整位置,以防止被覆盖。

94410

获得同级iframe页面的指定ID元素几种实现方法

1.JS实现:   var object= window.parent.frames("要获得iframename").contentDocument.getElementById("元素id");...2.jquery实现:   var object =$( "元素id", window.parent.frames("iframename").contentDocument); iframe获得父页面指定...id元素方法:   var object = $("元素id", window.parent.document); 父页面获得iframe子页面里指定id元素方法:   var object =...$(this).contents().find("元素id"); 注:window.frames("iframename")、document.frames("iframename")和window.frames...["iframename"]、document.frames[""iframename"]区别   1.第一个和第三个具有浏览器兼容性,第二个和第四个只有在IE和Opera浏览器支持,而别的不支持

1.7K20

js 动态修改_after_before伪元素content

今天做了一个有关js如何绑定动态修改伪类content内容,运用到有( :before 和 :after 伪元素、CSS content 属性、data-* H5新属性、js)等技术。...(data-content-after);和content: attr(data-content-before); 这样content可以获取到box添加data-content-after属性里...:after(before同理) 6)最后通过js获取到box对象,通过box对象attributes找到添加 [data-content-before=":before"]和[ data-content-after...=":after"]属性value,有了value,这就可以进行动态修改 before伪元素和:after 伪元素content; 以此现在做一个笔记以便以后使用,Hope to help...:before //console.log(boxAfter);//输出为 :after //下面可以自定义boxBeforeVal和boxAfterVal

10.9K20

js获取元素几种形式

通过id获取元素 document.getElementById('div');//获取id为div元素 通过class获取 document.getElementsByClassName('top'...);//获取页面中所有的class为top元素集合 通过标签名获取 document.getElementsByTagName('p');//获取页面中所有的标签为p元素集合 通过name获取 document.getElementsByName...('user');//获取页面中所有的name为user元素集合 注意:通过class,name标签名抓取元素是一个集合,即使该类只有一个符合要求元素目标,也返回是一个集合,因此可以存储变量,通过变量名...[0]获得第一个符合要求标签目标....简单可以将返回的当做一个存储符合数组,通过下标进行找到指定位置. 当然也可以使用数组方法返回,集合目标数. alert(tops.length)可以提示出class为top目标数

25.2K30

js 实现元素拖拽

概述 js 实现拖拽,主要使用元素 onmousedown、onmousemove、onmouseup 三个事件实现。...1、onmousedown:鼠标按下事件 2、onmousemove:鼠标移动事件 3、onmouseup:鼠标抬起事件 实现思路 我们当左键点击时,需要记录当前鼠标点击位置相对于该元素左上角x,y...坐标,这里我们使用diffX和diffY来表示 然后我们移动时需要不断计算当前元素距离浏览器左边和上边距离; 同时给元素进行赋值; 当鼠标抬起时,取消鼠标移动事件和鼠标抬起事件。...// 浏览器兼容 e = e || window.event; // 元素...clientX 和 clientY 默认是以元素左上角位置来计算,这里需要向左向上同时减去鼠标点击位置差,从而可以保证鼠标始终显示在拖拽元素位置

9.5K30

js删除数组中一个元素_js数组包含某个元素

大家好,又见面了,我是你们朋友全栈君。...第三种:删除数组中某个指定下标的元素 splice 删除 for 删除 第四种:删除数组中某个指定元素元素 splice 删除 filter 删除 forEach、map、for 删除 Set 删除...不可以使用 delete 方式删除数组中某个元素,此操作会造成稀疏数组,被删除元素为位置依然存在为empty,且数组长度不变 2....不可以使用 forEach 方法比对数组下标值,因为 forEach 在循环时候是无序 第四种:删除数组中某个指定元素元素 splice 删除 var element = 2, arr =...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

11.7K40

jquery获取第几个子元素_js获取元素指定子元素

可以这样理解,页面中元素有相同元素 ,并且里面又包含li元素,那么就取第一个li元素,每个子类集合都要进行判断,直到找出所有符合要求li元素; :last-child:这个也与上面相对了,...An+B所有子节点,比如3n+1返回所处位置为父节点子元素是3倍数加1那个子元素; :even:页面范围内处于偶数位置元素,如:li:even返回全部偶数li元素; :odd:页面范围内处于奇数位置元素...(n):第n个匹配元素(不包括)之后元素(n从0开始),如:ul:gt(2)返回从第3个ul开始所有ul元素(含第三个); :lt(n):第n个匹配元素(不包括)之前元素(n从0开始),如:ul...F所有子元素(F可以为E子类子类,甚至更远); E>F:匹配父元素E下所有标签名为F直接子元素; E+F:匹配所有标签名为F元素,并且有E类型兄弟节点在该F元素之前(E,F紧挨着); E~...C等效于*.C; E#I:匹配id为I所有元素E,#I等效于*#I; E[A]:匹配带有属性A所有元素E; E[A=V]:匹配所有属性A为V元素E; E[A^=V]:匹配所有元素E,且A属性

27K30

js判断数组中是否包含某个指定元素个数_js 数组包含某个元素

参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回为true元素,然后返回该元素,否则返回undefined。...find() 方法为数组中每个元素都调用一次函数执行: 当数组中元素在测试条件时返回 true 时, find() 返回符合条件元素,之后不会再调用执行函数。...如果没有符合条件元素返回 undefined 注意: find() 对于空数组,函数是不会执行。 注意: find() 并没有改变数组原始。...findIndex() 方法为数组中每个元素都调用一次函数执行: 当数组中元素在测试条件时返回 true 时, findIndex() 返回符合条件元素索引位置,之后不会再调用执行函数。...v=>{ if(v === 查找) { //则包含该元素 } }) 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

10.9K30
领券