这是html代码:
<div id="popup" class="popup_block" >
<img src="images/PUB-histRIRE.jpg" alt="popup" />
</div>
和脚本:
<script type="text/javascript">
$(document).ready(function(){
popWidth = 690;
popHeight = 550;
popID = 'popup';
var popMargTop = popHeight / 2;
var popMargLeft = popWidth / 2;
//Apply Margin to Popup
$('#' + popID).css({
'width': popWidth,
'height': popHeight,
'margin-top' : -popMargTop,
'margin-left' : -popMargLeft,
'visibility' : 'visible'
});
//Fade in Background
$('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag.
$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer
//Close Popups and Fade Layer
$('a.close, #fade, .popup_block').live('click', function() { //When clicking on the close or fade layer...
$('#fade , .popup_block').fadeOut(); //fade them both out
$('#fade').remove();
return false;
});
});
</script>
我喜欢只在页面上执行代码而没有thi div的div ...,只需忽略。我可以通过解析URL来制作一个if ...但它对我来说看起来更复杂......任何简单的jquery技巧?
答案 0 :(得分:35)
if($('#popup').length >0 ){
//your code here
}
答案 1 :(得分:8)
执行此操作的方法是(或者是)检查长度属性,如下所示:
if ($("#"+ popID).length > 0){
// do stuff
}
答案 2 :(得分:7)
像这样:
if($('div#popup').length) {
// div exists
}
答案 3 :(得分:3)
if ($("#popup").length) {
// do popup stuff
}
答案 4 :(得分:2)
如果您需要一个简单的可重用解决方案,可以扩展jQuery:
$.fn.extend({
'ifexists': function (callback) {
if (this.length > 0) {
return callback($(this));
}
}
});
然后:
$('#popup').ifexists(function(elem) {
// do something...
});
答案 5 :(得分:-2)