在Internet Explorer中使用多个选择器的jquery

在Internet Explorer中使用多个选择器的jquery,jquery,internet-explorer,jquery-selectors,Jquery,Internet Explorer,Jquery Selectors,我遇到了一个奇怪的情况。 我最近更深入地研究了jquery,并更新了一些旧代码 我没有将onClick放在html标记中,而是将它改为 $(document).ready( function () { $('#top_menu, :button, .big').on('click', function () { window.open($(this).data('link'), '_self', '');

我遇到了一个奇怪的情况。 我最近更深入地研究了jquery,并更新了一些旧代码

我没有将onClick放在html标记中,而是将它改为

$(document).ready(
    function () {
        $('#top_menu, :button, .big').on('click', 
            function () {
                window.open($(this).data('link'), '_self', ''); 
            }
        );
    }
);
IE在鼠标点击时没有重定向。如果转到地址
http://mylocaladdress/mysubdir/undefined

在经历了很多挫折之后,我改变了主意
$('top#u menu,:button,.big')
$('top#u menu:button,.big')
,效果非常好

谁能解释一下吗?

:S 完全是新手的错误。 在代码更改期间,由于某种原因,我从菜单表中丢失了id

    <table cellpadding="0" cellspacing = "0" id="#top_menu">
           <tr>
            <td><button class="big" style="font-weight: bold;" nowrap data-link="[action]">[name]</button></td>
...
           </tr>
    </table>

[姓名]
...
抱歉给你添麻烦了


实际上,有趣的是,它在Chrome中运行得很好,我认为这就是
$(this.data('link')
的问题所在,所以请尝试使用
$(this.attr('data-link')
)而不是
$(this.data('link')


按钮是否位于
#top_菜单
元素中?问题可能是由事件引起的propagation@ArunPJohny可能是这样的,但是第一个怎么会不起作用,而第二个怎么会起作用呢?对于
#top_菜单
$(此)。数据('link')
将返回未定义,我presume@RajaprabhuAravindasamy因为在实际看到HTML之前,
#top_菜单
可能没有数据属性
链接
的完整猜测功能。你能发布一些相关的HTML吗?
$(document).ready(
    function () {
        $('#top_menu, :button, .big').on('click', 
            function () {
                window.open($(this).attr('data-link'), '_self', ''); 
            }
        );
    }
);