2017-11-18 80 views
0

我试图用秀()同时显示的<img><a>如何使用jquery显示多个div?

目前它只会显示一个或另一个,取其最后调用。在下面的代码中,它将是html(img).show(),因为它在后面。做$('.showimagediv').html(div,img).show();也有同样的效果。试图将两个语句合并成一个变量:

var img = ($('<a />', {href : this.getAttribute("data-permaLink"), 'class': 'permaLinkDiv'}),$('<img />', {src : this.getAttribute("data-url"), 'class': 'fullScreenimg'})); 

只会导致<img>显示出来。有谁知道如何同时显示两者?

var imgToggle=false; 
    $('.box').on('click', function() { 
     var img = $('<img />', {src : this.getAttribute("data-url"), 'class': 'fullScreenimg'}); 
     var div = $('<a />', {href : this.getAttribute("data-permaLink"), 'class': 'permaLinkDiv'}); 
     if(imgToggle==true){ 
      $('.showimagediv').html(img).hide(); 
      imgToggle=false; 
     } 
     if(imgToggle==false){ 
      $('.showimagediv').html(div).show(); 
      $('.showimagediv').html(img).show(); 

      imgToggle=true; 
     } 

    }) 
    $('.showimagediv').on('click', function() { 
     var img = $('<img />', {src : this.getAttribute("data-url"), 'class': 'fullScreenimg'}); 
     var div = $('<a />', {href : this.getAttribute("data-permaLink"), 'class': 'permaLinkDiv'}); 
     if(imgToggle==true){ 
      $('.showimagediv').html(img).hide(); 
      divToggle=false; 
     } 

    }) 
+0

看起来你正在设置.showimagediv'的'了'innerHTML',然后显示/隐藏'.showimagediv'。尝试分割陈述。首先,设置'.showimagediv'的'html()',然后'show()'或'hide()''img'或'div'。 – KarthaCoder

回答

1

您可以使用display:none添加或删除css类来显示您的div。这非常简单而且是一个好方法。

CSS:.hide{display:none;}

$('div').add('img').addClass('hide'); //or 
$('div').add('img').removeClass('hide'); 
+0

这使我朝着正确的方向前进。谢谢! – onlineoctopus