jQuery判断一个元素是否可见的方法

本文实例讲述了jQuery判断一个元素是否可见的方法。分享给大家供大家参考。具体如下:

jQuery 可以很容易地确定一个元素是可见的或是隐藏的,然后分别做不同的处理。如:我想根据某 div 是否可见,在按钮上显示不同的文字和图标。可以这样实现:

方法一:

$('#para_div button').click(function() {
   if($(this).next().is(":visible")) {
    //$(this).html('显示');
    $(this).css({"background":"url(/images/btn_arrow_down.png) no-repeat"});
   }
   else {
    //$(this).html('隐藏');
    $(this).css({"background":"url(/images/btn_arrow_up.png) no-repeat"});
   }
  $(this).next().slideToggle('fast');
 });

方法二:

$('#para_div button').click(function() {
   if($(this).next().css('display') == 'none') {
    //$(this).html('隐藏');
 $(this).css({"background":"url(/images/btn_arrow_up.png) no-repeat"});
   }
   else{
    //$(this).html('显示');
 $(this).css({"background":"url(/images/btn_arrow_down.png) no-repeat"});
   }
  $(this).next().slideToggle('fast');
});

方法三:

$('#para_div button').click(function() {
 var $cn = $(this).next();
 //$(this).html(($cn.is(":visible")) ? '显示' : '隐藏');
(this).css(($cn.is(":visible")) ?
{"background":"url(images/btn_arrow_down.png) no-repeat"} :
{"background":"url(images/btn_arrow_up.png) no-repeat"});
 $cn.toggle('fast');
});

希望本文所述对大家的jQuery程序设计有所帮助。

(0)

相关推荐

  • jQuery判断元素上是否绑定了指定事件的方法

    本文实例讲述了jQuery判断元素上是否绑定了指定事件的方法.分享给大家供大家参考.具体如下: 例如下面的代码可以判断id=testdiv的元素是否绑定的click事件,这个判断只针对jQuery绑定的事件有效,普通JS的事件绑定无效. //jQuery event封装支持判断元素上是否绑定了事件,此方法只适用于jQuery绑定的事件 var $events = $("#testdiv").data("events"); if( $events &&

  • jquery判断元素的子元素是否存在的示例代码

    jquery判断子元素是否存在 一.判断子元素是否存在   //一级子元素 if($("#specialId>img").length==0)     if ($( "#specialId:has(img)" ).length==0)          {      //-----没有img子标记-----     }    else     {      //-------有img子标记------     } 二.选择特定id元素下的特定id子元素   

  • jquery判断元素是否隐藏的多种方法

    第一种:使用CSS属性 复制代码 代码如下: var display =$('#id').css('display'); if(display == 'none'){    alert("被你发现了,我是隐藏的啦!"); } 第二种:使用jquery内置选择器 假设我们页面有这么个标签, 复制代码 代码如下: <div id="test"> <p>仅仅是测试所用</p> </div> 那么,我们可以用以下语句来判断id

  • JQuery判断HTML元素是否存在的两种解决方法

    在工作中遇到这么一种情况,页面部分HTML元素是通过服务端语言根据不同情况控制显示不同内容的,然而在同一个页面某些情况在DOM准备好后需要用到Ajax跟服务端通讯,而有些情况不需要,那么我只想在页面存在我指定的HTML标记的时候我才触发Ajax部分,毕竟这样可以减轻服务器的负担,废话一大堆,转入正题: 其实解决JQuery判断元素是否存在的问题,方法很简单: if($("#abc").length >0) { ... } if($("#abc").html()

  • 关于jQuery判断元素是否存在的问题示例探讨

    是这样的,最近做jQuery训练时遇到jQuery判断元素是否存在时出现问题. 题目如下:请在"选择按钮3"后面,添加Id=rad4,处于选择状态的,之后文字为"选择按钮4"的HTML控件,只能添加一次(自由选择使用js原生或JQuery实现 function addradio() { if (!document.getElementById("rad4")) { var main = document.getElementById("

  • jQuery判断元素是否存在的可靠方法

    最简单的办法是判断元素匹配长度 譬如HTML代码: 复制代码 代码如下: <div class='mydiv'></div> 通常我们的做法是 复制代码 代码如下: if($('.mydiv').length>0) 比较可靠且不会出错的做法是: 复制代码 代码如下: if($('.mydiv').length && $('.mydiv').length>0)  return true; 使用传统javascript方法,如下: 复制代码 代码如下: if

  • jQuery判断元素是否显示 是否隐藏的简单实现代码

    jQuery判断元素是否显示 是否隐藏的简单实现代码 var node=$('#id'); 第一种写法 if(node.is(':hidden')){ //如果node是隐藏的则显示node元素,否则隐藏 node.show(); }else{ node.hide(); } 第二种写法 if(!node.is(':visible')){ //如果node是隐藏的则显示node元素,否则隐藏 node.show(); }else{ node.hide(); } if(node.is(':visib

  • jQuery判断数组是否包含了指定的元素

    要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等, 复制代码 代码如下: var arr = [ "xml", "html", "css", "js" ]; $.inArray("js", arr);  //返回 3, 如果不包含在数组中,则返回 -1; 以上就是本文的全部内容了,有需要的小伙伴参考下吧

  • jQuery判断iframe中元素是否存在的方法

    复制代码 代码如下: if($(window.frames["iframepage"].document).find('.l-grid-row-cell').length > 0){ alert(1);}else{ alert(2);} 判断id为iframepage的iframe中css为1-grid-row-cell的元素是否存在

  • JQuery1.8 判断元素是否绑定事件的方法

    On previous versions, you could call it like for other data : obj.data('events'); In jQuery 1.8, this direct access was removed, so in recent versions you must call it like this : $._data(obj[0],"events") 大概的意思是版本可以使用obj.data('event'); JQuery1.8

  • jquery如何判断某元素是否具备指定的样式

    分为以下2种情况: 1.如果css写成行内样式,可以通过获取style属性的值来判断,示例如下: 判断id为divid的div元素是否有font-size样式: 复制代码 代码如下: <div id="divid" style="float:left; font-size:12px;"></div> jquery代码如下: jQuery("#divid").each(function(){ var fontSize = $

随机推荐