【问题标题】:How to hide / show everything inside of a div using jquery and an HTML button?如何使用 jquery 和 HTML 按钮隐藏/显示 div 内的所有内容?
【发布时间】:2014-06-21 07:00:21
【问题描述】:

如何使用 HTML 按钮使用 jquery 隐藏 div 及其中的所有内容。

(注意 div 的内容和它们的设置方式是完全必要的)

按钮:

<input id="button" type="button" value="Toggle" />

div:

<div class="holder">
    <iframe class="frame"
            src="http://www.google.com/custom"
            data-url="http://www.google.com/custom?q="
            width="250"
            height="600" 
            onmouseover="width = 400" 
            onmouseout="width = 250">
    </iframe>
    <div class="sampleDiv">
        <a class="invisibleDiv" 
           id="http://www.google.com/custom?q=" 
           href="http://www.google.com/custom?q=" 
           target="Goog"></a>
    </div>
</div>

Javascript:

 function virtualSubmit(form) {
        var text = form.searchtext.value;
        var targets = document.getElementsByTagName('iframe'), items = targets.length;
        var targets2 = document.getElementsByClassName('invisibleDiv'), items2 =      targets2.length;

 for (var i = 0; i < items; i++) {
        var target = targets[i], url = target.getAttribute('data-url');
        }

 for (var i = 0; i < items2; i++) {
        var target = targets2[i], url = target.getAttribute('href');
         target.href = target.id + text;

  }
 return false;

 $(document).ready(function() {
 $("#button").click(function () {
    var holder= this.value;
      $(".holder").slideToggle().siblings().hide("slow");
    });

 });

小提琴示例:http://jsfiddle.net/2xLNd/

【问题讨论】:

  • 调查? - 你甚至可以将按钮称为你想要的 jquery 函数的名称api.jquery.com/toggle
  • 我已经用 JS 更新了这个,所以最好理解这个问题。
  • @Ibounes 发布了一个缩小您的问题范围的小提琴。
  • 这是一个很好的例子,说明 HTML5 中的 summary and details 元素应该按顺序排列,而不是 20 行代码。我建议考虑使用它并为browsers that don't support it yet 使用polyfil fallback
  • @Ibounes 你在return false 之后缺少}

标签: jquery html iframe togglebutton


【解决方案1】:

使用 JQuery 你可以简单地做到这一点。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script> $(document).ready(function()
        {
            $("#button").click(function()
            {
                  $(".holder").hide();
            });

        });</script>

如果你想隐藏和显示 div 那么你可以使用

<script> $(document).ready(function()
    {
        $("#button").click(function()
        {
              $(".holder").toggle();
        });

    });</script>

【讨论】:

  • 你有没有在head中添加
  • 是的,我有。这不是问题
  • 我检查了你的相同代码,它运行良好。
  • @Ibounes Check your brackets! 你也没有引用 jquery 库。
【解决方案2】:

试试这个http://jsfiddle.net/2xLNd/4/

您已在函数中准备好文档。将其置于函数范围之外。

$(document).ready(function() {
  $("#button").click(function () {
    $(".holder").toggle();
  });
});

你的函数应该在 document.ready 被调用之前结束。

【讨论】:

  • 是的...它会查询 iframe 中的搜索
  • 我检查了你的旧代码(小提琴)它也没有在那里工作。检查你的旧小提琴。可能是因为我们在 fiddle 上检查它
  • 你返回表单没有触发函数
  • 问题在于显示结果的功能,而不是切换和淡入淡出的问题。我猜你的 div 隐藏和显示问题已经解决了。如果您觉得并为 iframe 问题开启新的讨论,请将其标记为正确答案。使用适当的问题标签
【解决方案3】:

您可以在 jQuery 中使用以下代码。

$("#button").click(function () {
    $(".holder").toggle();
});

例如Check here

更新:看看你的代码,你可以试试这个。

$("#button").click(function () {
var holder= this.value;
  $(".holder").toggle("slideUp");
});

});

只需删除兄弟姐妹()。而且您的功能未正确关闭。检查上面的链接。

查看here

【讨论】:

  • @lbounes: 在你的小提琴中添加 jquery 库
【解决方案4】:

您可以简单地通过$(".holder").hide() 使 div 不可见,$(".holder").show() 使 div 再次可见。

【讨论】:

  • 我已经尝试过了,但它不起作用......我认为这是因为 div 的内容。
  • 您尝试了什么,预期和实际结果以及控制台消息是什么?
  • 什么都没有发生,它应该将 iframe 隐藏在 div 内
  • 日志中是否有错误?你的 html 中包含了 jQuery 吗?
【解决方案5】:

为了显示/隐藏特定的 DIV,您需要在内置方法 toggle() 中使用 jquery

如果您希望最初 Holder div 不显示,那么

<div class="holder" style="display:none;">
    <iframe class="frame"
            src="http://www.google.com/custom"
            data-url="http://www.google.com/custom?q="
            width="250"
            height="600" 
            onmouseover="width = 400" 
            onmouseout="width = 250">
    </iframe>
    <div class="sampleDiv">
        <a class="invisibleDiv" 
           id="http://www.google.com/custom?q=" 
           href="http://www.google.com/custom?q=" 
           target="Goog"></a>
    </div>
</div>

就像你的情况一样,如果你想隐藏/显示一个 div,那么你只需使用

$('#button').click(function() {

    $(".holder").toggle();      

});

【讨论】:

    【解决方案6】:

    大家试试这个

    <div class="holder">
        <iframe class="frame"
                src="http://www.google.com/custom"
                data-url="http://www.google.com/custom?q="
                width="250"
                height="600" 
                onmouseover="width = 400" 
                onmouseout="width = 250">
        </iframe>
        <div class="sampleDiv">
            <a class="invisibleDiv" 
               id="http://www.google.com/custom?q=" 
               href="http://www.google.com/custom?q=" 
               target="Goog"></a>
        </div>
    </div>
    
    <input id="button" type="button" value="Toggle" />
    
    <script>
     function virtualSubmit(form) {
            var text = form.searchtext.value;
            var targets = document.getElementsByTagName('iframe'), items = targets.length;
            var targets2 = document.getElementsByClassName('invisibleDiv'), items2 =      targets2.length;
    
     for (var i = 0; i < items; i++) {
            var target = targets[i], url = target.getAttribute('data-url');
            }
    
     for (var i = 0; i < items2; i++) {
            var target = targets2[i], url = target.getAttribute('href');
             target.href = target.id + text;
    
      }
     return false;
    }
    $("#button").click(function () {
        $(".holder").toggle(); 
    
        });
    
    
    
    </script>
    

    return false 下面缺少一个右花括号。

    【讨论】:

      【解决方案7】:

      亲爱的朋友,这个链接对你有用...demo_Click_hear

      嗨,亲爱的,请添加 jquery-1.8.3 添加库 ..........

      function virtualSubmit(form) {
                  var text = form.searchtext.value;
                  var targets = document.getElementsByTagName('iframe'), items = targets.length;
                  var targets2 = document.getElementsByClassName('invisibleDiv'), items2 = targets2.length;
      
           for (var i = 0; i < items; i++) {
                  var target = targets[i], url = target.getAttribute('data-url');
                  }
      
           for (var i = 0; i < items2; i++) {
                  var target = targets2[i], url = target.getAttribute('href');
                   target.href = target.id + text;
      
      }
      return false;
       }
       $(document).ready(function() {
                  $("#button").click(function () {
              $("div.holder").toggle();
              });
       });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多