Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.toggle函数在IE9中不起作用_Jquery_Html_Internet Explorer 9_Toggle - Fatal编程技术网

jQuery.toggle函数在IE9中不起作用

jQuery.toggle函数在IE9中不起作用,jquery,html,internet-explorer-9,toggle,Jquery,Html,Internet Explorer 9,Toggle,第一次在这里问问题,但我已经在网站上找到了很多次答案 我的问题是为什么这段代码在IE中不起作用,在Chrome中工作得很好。我阅读了与此类似的另一个主题,但答案是将切换替换为if.show.hide。这不是我想做的,我想使用切换,我只是不明白为什么IE不喜欢它。这有点像一个菜单,它是一个公司提供的服务列表,切换是一个包含服务细节的div。我知道div标签在li标签中是可以的,所以不应该是这样,我使用div的原因是因为我使用了很多CSS来设计它的样式,尽管它可以用一种更智能、更干净的方式来完成。。

第一次在这里问问题,但我已经在网站上找到了很多次答案

我的问题是为什么这段代码在IE中不起作用,在Chrome中工作得很好。我阅读了与此类似的另一个主题,但答案是将切换替换为if.show.hide。这不是我想做的,我想使用切换,我只是不明白为什么IE不喜欢它。这有点像一个菜单,它是一个公司提供的服务列表,切换是一个包含服务细节的div。我知道div标签在li标签中是可以的,所以不应该是这样,我使用div的原因是因为我使用了很多CSS来设计它的样式,尽管它可以用一种更智能、更干净的方式来完成。。。我知道有很多类似的问题,但是我找不到我的代码为什么不能在IE9中工作的答案。 如果有人帮助我,我将不胜感激,谢谢!:)

HTML


完全解释您的标记,这是混乱和无效的:

<div id="text">
    <ul id="serv">        
        <li><div class="head"><a href="#">SERVICE 1</a></div></li>
        <li>
            <div class="cont"><p>CONTENTS </p></div>
            <ul><li>sub list</li></ul>
        </li>
        <li><div class="head"><a href="#">SERVICE 2</a></div></li>
        <li>
            <div class="cont"><p>CONTENTS 2</p></div>
            <ul><li>sub list</li></ul>
        </li>
    </ul>
</div>

$(document).ready(function(){
    $('#serv > li > ul')
        .hide()
        .click(function(e){
            e.stopPropagation();
        });

    $('#serv > li').toggle(function(){
        $(this).find('ul').slideDown();
    }, function(){
        $(this).find('ul').slideUp();
    });
});

  • 内容

    子列表
  • 内容2

    子列表
$(文档).ready(函数(){ $('sev>li>ul') .hide() 。单击(功能(e){ e、 停止传播(); }); $('#serv>li')。切换(函数(){ $(this.find('ul').slideDown(); },函数(){ $(this.find('ul').slideUp(); }); });


单击
内容
文本查看上/下滑动功能。

您使用的
.toggle()
错误。阅读文档:@ahren他正在使用此切换,但此切换已被弃用。您的标记严重损坏。@JaredFarrish是的,它没有提到它,原因不明@未定义-啊,我明白了。谢谢
$(document).ready(function(){
$( '#serv > li > ul' )
    .hide()
    .click(function( e ){
        e.stopPropagation();
    });

  $('#serv > li').toggle(function(){
      $(this)
      .find('ul').slideDown();


  }, function(){
    $( this )
      .find('ul').slideUp();
  });
}); 
<div id="text">
    <ul id="serv">        
        <li><div class="head"><a href="#">SERVICE 1</a></div></li>
        <li>
            <div class="cont"><p>CONTENTS </p></div>
            <ul><li>sub list</li></ul>
        </li>
        <li><div class="head"><a href="#">SERVICE 2</a></div></li>
        <li>
            <div class="cont"><p>CONTENTS 2</p></div>
            <ul><li>sub list</li></ul>
        </li>
    </ul>
</div>

$(document).ready(function(){
    $('#serv > li > ul')
        .hide()
        .click(function(e){
            e.stopPropagation();
        });

    $('#serv > li').toggle(function(){
        $(this).find('ul').slideDown();
    }, function(){
        $(this).find('ul').slideUp();
    });
});