【发布时间】:2013-12-15 08:44:04
【问题描述】:
我正在将一段代码从 jQuery 转换为 ChocolateChip UI,而这段代码让我很困惑,因为 ChocolateChip UI 不支持 ':visible' 以实现 is()
if (interactive && block.is(':visible')) {
block.fadeOut(250, function() {
block.html(newContent);
block.fadeIn(750);
});
showHighlight($("#character_text"));
}
我得到的错误是:
Uncaught SyntaxError: Failed to execute query: ':visible' is not a valid selector.
两个问题:
- 如何使用纯 JavaScript 模拟
is(':visible')? - 如何扩展 ChocolateChip UI 的
is()以处理:visible?
【问题讨论】:
-
if(document.getElementById("elementId").style.visibility=="visible"){ // 做点什么 }
-
我认为这不起作用,因为
:visible是 jQuery 的扩展。因此,您可能会遇到与其他选择器相同的问题。 jQuery 实际上做了几件事来确定一个元素是否可见,这在文档中进行了解释:api.jquery.com/visible-selector. -
@AdnanK:这还不够。该元素可能通过样式表设置样式,并且可能没有
visibility规则集,但仍然可见。 -
"在 jQuery 1.3.2 中,如果浏览器报告的 offsetWidth 或 offsetHeight 大于 0,则元素可见"
标签: javascript jquery chocolatechip-ui