Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 隐藏div不';不行?_Asp.net_Jquery - Fatal编程技术网

Asp.net 隐藏div不';不行?

Asp.net 隐藏div不';不行?,asp.net,jquery,Asp.net,Jquery,我有一个默认情况下隐藏的div,当用户单击show链接时,调用以下javascript方法: function ChangeControlVisibility(elementID) { var element = $("#" + elementID); if (element.css('display') != 'block' && element.css('display') != 'table') { element.show();

我有一个默认情况下隐藏的div,当用户单击show链接时,调用以下javascript方法:

function ChangeControlVisibility(elementID) {
    var  element = $("#" + elementID);
    if (element.css('display') != 'block' && element.css('display') != 'table') {
        element.show();
        var tempElement = $('div.expanded');
        if (tempElement.length > 0) {
            tempElement.css('background-image', 'url(../images/arrow1.gif)');
        }
    }
    else {
        element.hide();
        var tempElement = $('div.expanded');
        if (tempElement.length > 0) {
            tempElement.css('background-image', 'url(../images/arrow2.gif)');
        }  
    } 
}
此步骤有效,但当我在page_load事件中调用上一个方法时,该方法不起作用: 未定义元素css('display')


前面的代码有问题吗???

您是否在
.ready()
处理程序中执行该代码

顺便说一下,除非您真的需要显式地检查显示状态
,否则您可以要求

$(document.ready(function(){
   if (!element.is(':visible')){
   }
   else{
   }
});

参考:,

查看:隐藏和:可见jQuery选择器。试着这样做:

function ChangeControlVisibility(elementID) {
  var vis = $("#" + elementID).toggle().is(':visible');
  $('div.expanded').css('background-image', 'url(../images/arrow' + (vis ? '1' : '2') + '.gif)');
}
函数ChangeControlVisibility(elementID){ var hiddenElement=$(“#”+elementID+”:隐藏); 变量元素=$(“#”+elementID); 如果(hiddenElement.length>0){//检查此元素是否存在 hiddenElement.show(); var tempElement=$('div.expanded'); 如果(tempElement.length>0){ css('background-image','url(../images/arrow1.gif)'); } } 否则{ 元素。隐藏(); var tempElement=$('div.expanded'); 如果(tempElement.length>0){ css('background-image','url(../images/arrow2.gif)'); }
}
}

您可以使用和来简化它,如下所示:

function ChangeControlVisibility(elementID) {
  var vis = $("#" + elementID).toggle().is(':visible');
  $('div.expanded').css('background-image', 'url(../images/arrow' + (vis ? '1' : '2') + '.gif)');
}

这将切换可见性(通过封面下的
.hide()
/
.show()
)并检查结果的可见性,以查看它是否显示在页面中,并根据此设置箭头图像。

感谢重播,但问题是我想在加载页面时进行c验证后注册jquery方法,此时元素未定义