jQuery UI - 一个交换函数,通过选择器隐藏和取消隐藏元素

时间:2008-12-30 18:31:13

标签: javascript jquery jquery-ui

前言:我在页面上包含了jQuery和jQuery UI。

我定义了这个函数:

    function swap(sel) {
        if (1 == 1) {
           $(sel).hide('drop',{direction:'left'});
        }
    }

如何修复(1 == 1)部分进行测试以查看该元素是否已被隐藏,然后将其恢复原状。我确信这很容易,但我是jQuery的新手。

4 个答案:

答案 0 :(得分:3)

如果您不喜欢toggle,那么这可能会对您有所帮助:

function swap(sel) {
  if($(sel).is(':visible')) {
    $(sel).hide('drop',{direction:'left'});
  } else {
    $(sel).show('drop',{direction:'left'});
  }
}

答案 1 :(得分:2)

为什么不使用toggle()

例如:

function swap(sel) {
  $(sel).toggle();
} 

答案 2 :(得分:2)

也许$(sel).toggle();正是您要找的?这是切换元素可见性的最佳方式。

答案 3 :(得分:2)

正如其他回答者所说,toggle()是最好的解决方案。但是,如果由于某种原因你不能/不想使用切换,并且你的选择器只用于一个元素:

function swap(sel) {
    if ($(sel).is(':visible')) {  // Is this element visible?
       $(sel).hide('drop',{direction:'left'});
    }
}

警告:如果元素或其任何父元素为:hidden,则:可见检查将返回误报。如果这对您很重要,您可能希望check out this solution尝试检查其中的任何内容。