2

display: none;当 div 的样式从 更改为时,我正在尝试执行 jQuery 代码display: block;

我正在使用标签,这就是为什么这个 div 的样式会发生这样的变化,并且这个 jQuery 代码应该只在查看这个标签时运行。

那么我该如何实现呢?

谢谢。

编辑:我试过.is(':visible');了,它只有在我们加载页面并且这个 div 可见时才有效,而不是这个 div 稍后可见。

4

4 回答 4

2

您正在寻找的是DOM Mutation Events,它可以在插入、删除或修改 DOM 元素时引发事件。

不幸的是,它们从未得到很好的支持,并且在 DOM3 中已被弃用

无论如何(没有双关语),在您的情况下,捕获导致选项卡显示的任何 UI 事件会更简单。

于 2012-04-30T11:00:28.227 回答
2
if($("#myTab").is(':visible')){
    here is your code ...
}
于 2012-04-30T10:46:14.803 回答
2

尝试这样的事情:

if($(DIV).is(':visible')) {   // DIV => valid selector of your target
   // execute your code
}

或者:

if($('body').on('EVENTNAME', 'DIV:visible')) {   // DIV => valid selector of your target
   // execute your code
}
于 2012-04-30T10:46:25.133 回答
-1
$(document).ready(function(){
    $(your tab container).click(function(){
        //set none property to all of your id's
        var obj=$this;
        if(obj){
            $("your id").style.display="block"; // set block to your current item
        }
    });
});

或者

if($("you id").is('visible')){
    //do it
}
于 2012-04-30T10:46:19.717 回答