jQuery 1.3.2和IE 8的hide()和show()问题

jQuery 1.3.2和IE 8的hide()和show()问题,jquery,internet-explorer-8,hover,hide,show,Jquery,Internet Explorer 8,Hover,Hide,Show,有人能告诉我为什么下面的例子可以在Firefox中使用,但不能在IE8中使用? 在IE 8中,只有内容1是正确的 Thx vijey <script type="text/javascript"> $(function(){ $("#sortable").sortable({handle: '#dragable'}); }); $(function(){ var v; $('div[id^="content_"]').hover( fun

有人能告诉我为什么下面的例子可以在Firefox中使用,但不能在IE8中使用? 在IE 8中,只有内容1是正确的

Thx vijey

<script type="text/javascript">

$(function(){
    $("#sortable").sortable({handle: '#dragable'});
});


$(function(){

   var v;

  $('div[id^="content_"]').hover(

        function () {

        v = $(this).attr('id');
            $('#'+v+' #menu').show();
            $('#'+v+' #dragable').show();
        },
        function () {
            $('#'+v+' #menu').hide();
            $('#'+v+' #dragable').hide();
        }
    );

});

</script>


<body>

<div id='sortable'>

    <div id='content_1'>

        <div id='menu' style='display:none;'>
            <div>edit</div>
            <div>add</div>
            <div>delete</div>
        </div>

        <div id='content'>Content_1</div>

        <div id='dragable' style='display:none;'>[drag]</div>
    </div>




    <div id='content_2'>

        <div id='menu' style='display: none;'>
            <div>edit</div>
            <div>add</div>
            <div>delete</div>
        </div>

        <div id='content'>Content_2</div>

        <div id='dragable' style='display:none;'>[drag]</div>
    </div>





    <div id='content_3'>

        <div id='menu' style='display: none;'>
            <div>edit</div>
            <div>add</div>
            <div>delete</div>
        </div>

        <div id='content'>Content_3</div>

        <div id='dragable' style='display: none;'>[drag]</div>
    </div>

</div>



</body>

$(函数(){
$(“#可排序”).sortable({handle:'#dragable'});
});
$(函数(){
var v;
$('div[id^=“content”]”)。悬停(
函数(){
v=$(this.attr('id');
$(“#”+v+“#菜单”).show();
$(“#”+v+“#可拖动”).show();
},
函数(){
$(“#”+v+“#菜单”).hide();
$(“#”+v+“#可拖动”).hide();
}
);
});
编辑
添加
删除
内容1
[拖动]
编辑
添加
删除
内容2
[拖动]
编辑
添加
删除
内容3
[拖动]

ID在页面中必须是唯一的(html规范[1]);您有2个
#菜单
#内容
,等等。将它们更改为例如
,将选择器更改为
。菜单
——应该可以使用

顺便说一句,您可以使用
find
[2]简化悬停回调:

function () {
    $(this).find('.menu, .dragable').show(); 
}
1:

2:

不能有多个元素具有相同的ID,这是无效的HTML,ID必须是唯一的。菜单元素需要是类而不是ID,如下所示:

<div id='content_1'>

    <div class='menu' style='display: none;'>
        <div>edit</div>
        <div>add</div>
        <div>delete</div>
    </div>

    <div class='content'>Content_2</div>

    <div class='dragable' style='display:none;'>[drag]</div>
</div>
$(function(){
  $('div[id^="content_"]').hover(
        function () {
          $(this).find('.menu, .dragable').show();
        },
        function () {
          $(this).find('.menu, .dragable').hide();
        }
    );
});