jquery click()在ie7和ie8中不起作用

时间:2013-04-07 16:52:58

标签: jquery internet-explorer-8 internet-explorer-7

有人可以帮助解决这个问题:

$('#cont2, #cont3').hide();
$('li a').click(function(){
    var idx= $(this).attr('id').substr(-1);
    $('#cont1, #cont2, #cont3').hide();
    $('#cont'+idx).show();
    return false;
});

这在IE7和IE8中不起作用。为什么呢?

HTML

<ul>
       <li class="linktab"><a href="#" id="link1">Link1</a></li>
       <li class="linktab"><a href="#" id="link2">Link2</a></li>
       <li class="linktab"><a href="#" id="link3">Link3</a></li>
</ul>

<div id="cont1">content 1</div>
<div id="cont2">content 2</div>
<div id="cont3">content 3</div>

1 个答案:

答案 0 :(得分:4)

因为旧IE的substr实施does not support a negative index as the argument。在该MDN页面中有一个替代品,或者您可以简单地执行

var id = $(this).attr('id');
var idx= id.substr(id.length - 2);