【问题标题】:jQuery find / is(':visible') problemjQuery find / is(':visible') 问题
【发布时间】:2011-08-05 16:01:06
【问题描述】:

请看这里的代码:

http://jsfiddle.net/wQpTu/1/

由于某种原因,它总是在 .is(':visible') 上返回 false,无论它是否可见。

有什么理由吗?我应该做些什么不同的事情?

【问题讨论】:

  • 错误的选择器 :) 这是一个 id:span#spanselect

标签: jquery find hide show visible


【解决方案1】:

你需要使用:

var visibleElement = $('#holder').find("span#spanselect").is(":visible");

spanselectid,而不是 class

顺便说一下,

$("#holder span#spanselect") 的工作原理是一样的。作为记录,您可以将is(":visible") 更改为length 并且看到它等于0,并且很容易看到选择器失败。

示例:http://jsfiddle.net/kobi/wQpTu/5/

【讨论】:

  • 由于您使用的是 id,没有理由不使用 $("#spanselect") 开头。
  • @Dennis - 这是一个非常好的观点,尽管有一些极端情况 - 例如,如果 #spanselect 不在 #holder 内(如果它移动),您可能希望选择器失败 -但这太牵强了:)
【解决方案2】:

您正在使用“。”代替 ”#”。 This 将起作用:

var visibleElement = $('#holder').find("span.spanselect").is(":visible");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 2012-08-31
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多