如果可以找到它,我怎么能要求JavaScript隐藏元素?

时间:2009-07-27 04:30:17

标签: javascript html css

我的一个SSI文件中有一个javascript事件处理程序,它隐藏了一些可能会或可能不会出现在调用SSI文件的页面上的元素。结果,处理程序顺利进行,直到它找不到我要求它隐藏的元素,然后在完成任何可能隐藏的内容之前停止。那么,我怎样才能让JavaScript不会挂断该元素是否在页面上并且只是通过处理程序?

非常感谢。
迈克

3 个答案:

答案 0 :(得分:8)

取决于你如何获得元素。如果您没有使用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();

答案 1 :(得分:1)

有些代码可以很好地回答这个问题,但是这个:

if (element) {
    element.hide();
}

答案 2 :(得分:0)

在普通的旧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";
}