[英]How can I ask JavaScript to hide an element ONLY IF it can be found?
我的一个SSI文件中有一个javascript事件处理程序,该事件处理程序隐藏了一堆可能会或可能不会出现在调用SSI文件的页面上的元素。 结果,处理程序运行顺利,直到找不到我要隐藏的元素为止,然后在完成可能要隐藏的任何操作之前停止。 因此,如何使JavaScript不会挂断元素是否在页面上,而只是通过处理程序?
非常感谢。
麦克风
取决于您如何获取元素。 如果您不使用JS库,则可以执行以下操作:
/* handler begin code */
var el = document.getElementById('myElement');
if (el) {
//do work
}
/* handler end code */
如果使用类似jQuery的方法,则更容易,您可以在其中选择元素,然后即使该元素不存在,对所选集合的任何操作也不会引发异常
//this will work even if myElement doesn't exist - no exceptions will be thrown
$("#myElement").hide();
一些代码可以很好地回答这个问题,但是呢:
if (element) {
element.hide();
}
在普通的旧javascript(无库)中,您只需为要隐藏的每个ID进行此操作:
if( document.getElementById("myelementId") ) document.getElementById("myelementId").style.display = "none";
如果您喜欢,也可以将其放入循环中:
var elementsToHide = ["tom","dick","harry"];
for( var i in elementsToHide ) {
var element = document.getElementById(elementsToHide[i]);
if( element ) element.style.display = "none";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.