jQuery - 方法链不起作用

时间:2012-07-05 15:48:11

标签: jquery jquery-selectors

我无法使用一组链式方法。

目标是隐藏一个正常工作的对话框面板,然后更改#nomoreIE div的类。

我尝试了许多组合来链接.addClass('masked').removeClass('poped')方法而没有任何错误或成功的迹象。

此外,我想提供在需要时重新打开对话框的功能,这是append()方法的意图。

$('.lt-ie9 #nomoreIE a.ui-dialog-titlebar-close').live('click', function(e4){

    $('#nomoreIE').addClass('masked').removeClass('poped').animate({
    left: '-148px' }, {
        duration: '80',
        easing: 'easeInExpo'
    }).append('<div id="alert-ie"></div>');

    return false;

});

任何帮助表示赞赏

谢谢

这里是回答'DarkKing'的完整代码列表:

    // --------------- ienomore ------------------------------
// faire apparaitre au chargement
$('.lt-ie9 #nomoreIE').css({right: '-140px'}).delay(2000).animate({
       left: '0' }, {
                     duration: '80',
                      easing: 'easeOutBounce'
                     }).removeClass('masked').addClass('poped');


// gestion du close
$('.lt-ie9 #nomoreIE a.ui-dialog-titlebar-close').live('click', function(e3){

    $('#nomoreIE').addClass('masked').removeClass('poped').animate({
       left: '-148px' }, {
                     duration: '80',
                      easing: 'easeInExpo'
                     }).append('<div id="alert-ie"></div>');

return false;

});

//gestion du open
$('.lt-ie9 #nomoreIE #alert-ie').live('click', function(e4){
    $('#nomoreIE').remove('#alert-ie').animate({
       left: '0' }, {
                     duration: '80',
                      easing: 'easeOutBounce'
                     }).removeClass('masked').addClass('poped');

});

2 个答案:

答案 0 :(得分:0)

请检查此列表:

  • 您的选择以确保点击处理程序被解雇。
  • 尝试使用$(this).parent()代替$('#nomoreIE')
  • 检查poped课程是否确实存在。

这些问题可以解决。

答案 1 :(得分:0)

我已经提高了小提琴代码以反映新方法。(http://jsfiddle.net/elz64/UdmWx/2/) 然而,Jiddle中没有任何功能。

我删除了条件评论和css定位“.lt-ie9”来处理FF中的Firebug。

以前的代码WAS在FF中工作但不在IE中,但我仍然不知道为什么。

有一点可靠:F12控制台没有被jQuery dom操作(!?)刷新,因此它不能实时反映操作。

我猜有一些特定的IE问题,但也有一些工作的东西(比如类操作)不可见的控制台原因没有实现!

由于附加的div(一个小的6x6图标)有一些小故障,我设法改变了定位等等。 现在新代码在IE中也可以。