我有一个div元素,它将在很多地方显示/隐藏。 是否有可能
$("#divtobetracked").hide();
或
$("#divtobetracked").show();
又解雇了另一个动作? 因为如果元素的.hide(),也应该隐藏一个按钮,如果元素显示,也应该显示一个按钮。
所以,我认为我可以编写一个切换和执行我想要的功能的函数,如果我想显示/隐藏元素,我会调用该函数。
但是,还有另一种可能吗,某事。喜欢.live()事件?
最诚挚的问候。
答案 0 :(得分:5)
阅读此讨论......它会帮助你......
并尝试这个......
if( $(element).is(":visible") == "true" ){ // do something }
else{
// do something else<br>
}
答案 1 :(得分:2)
不,那不存在。你可以像你提到的那样编写一个函数,或者像这样扩展jquery(参见http://docs.jquery.com/Plugins/Authoring):
(function( $ ) {
$.fn.hideMe = function() {
this.hide();
this.each(function() {
// Do more stuff here.
});
// Maybe even:
this.trigger('hideMe.hidden');
};
})( jQuery );
然后用旧的.hide()
来代替:
$('#divtobetracked').hideMe();
而且,如果你还包括“触发”调用,你现在可以:
$('#divtobetracked').bind('hideMe.hidden', function() {
// do some specific stuff for this div here, like:
$('#somebutton').hide();
});
另请参阅:http://api.jquery.com/trigger/。
或者,如果你真的想要做的就是同时隐藏一个div和一个按钮,只需给它们同一个类:
<div id='#divtobetracked' class='hide-me'></div>
<button id='#somebutton' class='hide-me'></button>
然后
$('.hide-me').hide();
答案 2 :(得分:1)
您可以使用.hide()和.show()的回调参数来调用.trigger()。请参阅http://api.jquery.com/hide/和http://api.jquery.com/trigger/。
$($('#divtobetracked').bind('hideandshow', function() {
alert('divtobetracked was hidden or shown');
});
$("#divtobetracked").hide(function () {
$("#divtobetracked").trigger('hideandshow');
});
答案 3 :(得分:0)
$("#divtobetracked").toggle();
希望这会有所帮助