原生javascript方法查询DOM对象是否隐藏

2016/12 01 13:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于bwin娱乐官网平台的点点滴滴

<div class="answer-top" style=" display: none;">
        <a class="question-edit">Edit</a>
        <a class="clear">Clear</a>
        <a class="delete-finding">Delete</a>
</div>

下面代码假如经过原生的办法:document.querySelector.question-edit.style.display无法盘诘该DOM东西能否隐蔽

类似jquery有办法$.question-edit.is:hidden来盘诘

原生DOM有办法完成吗,还是需求查找父节点一层层遍历?

补充:
有答复说用document.querySelector.question-edit.style.display , 我曾经写的很分明了,不行的。。单纯想经过运用style款式属性无法判别出来的,包括visibility,以是可以先看下标题标

IE:element.currentStyle
高端:window.getComputedStyleelement
以是你需求以上两种方法,参考JQ的完成。

document.querySelector.question-edit.style.display查的便是这个元素的这个属性值,display又不具有承继性,给父元素设置display:none,不代表子元素的display的值也被设置了,那么题目是你并没有给一个元素的display赋值,又怎样能查到该节点的display的值能否隐蔽?
固然是display:none设置给谁才干用这个属性裁判这个元素能否隐蔽.

jQuery “:hidden” 能查到是由于这个办法设定之一便是在祖先元素是隐蔽的,以为元素是不会在页面上表现。
你想用原生的写法,就相称于自己完成一个类似于jQuery的 is:hidden办法,可以去看看jQuery源码.或许盘诘父元素.

function isHiddenel {
    return el.offsetParent === null
}

SO解答

只能一层一层向上查找了,递归调用,最后停止的条件是

document.querySelector.question-edit.parentNode.parentNode.parentNode.parentNode === document  //true

楼上的办法

var q = document.querySelector.question-edit;
window.getComputedStyleq.d  //"none"

(看完/读完)这篇文章有何感想! 来看看bwin娱乐官网平台是怎么评论的吧!

--转载请注明: bwin娱乐官网_bwin娱乐官网平台_bwin娱乐官网平台下载 » 原生javascript方法查询DOM对象是否隐藏

发表评论

(必填)