jquery弹出功能在IE中不起作用

时间:2011-04-02 11:22:46

标签: jquery internet-explorer

我认为我的选择器出现问题导致我的jquery弹出脚本无法在IE中运行,(FF和chrome都可以)

编辑:在IE中发生的是淡入淡出显示但没有弹出窗口。

javasctipt

$(document).ready(function(){

    $("a[name*='add-ad-to-']").click(function () {
        var divname= this.name;
        $("#"+divname).slideDown("slow");

        $('body').append('<div id="fade"></div>');
        $('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();

        return false;
    });


});

html(动态生成,可能没有错,因为FF和chrome工作正常)

    //the link
        echo'<a class="noul" name="add-ad-to-'.$value.'" href="#">Link</a>';

   //the popup   
        echo'<div class="box-add lucida" id="add-ad-to-'.$value.'" style="display:none;">

            //content

        </div>';

编辑:

这是css,但我不认为这是问题

 #fade {display:none;background:#000;position: fixed; left: 0; top: 0;width: 100%; height: 100%;opacity: .80;z-index: 9999;}
.box-add{position:absolute;left:110px;top:-140px;z-index:99999;padding:30px 40px 10px 40px;background-color:#FFF;border:5px solid #888;text-align:left;color:#555;font-size:11px;font-weight:normal;line-height:22px;width:500px;}

2 个答案:

答案 0 :(得分:0)

我怀疑您在name元素aid div上使用相同的值时会遇到问题。在确定id的{​​{1}}时建议在名称中添加内容,例如:

div

(当然,相应地更改HTML。)

这是因为IE has issues with conflating namespaces并且倾向于使用$("#div-"+divname).slideDown("slow"); 转储name。例如,Chrome或Firefox与IE中的try this example

HTML:

id

JavaScript的:

<a name='foo'>This is the foo anchor</a>
<div id='foo'>This is the foo element</div>
<a name='bar'>This is the bar anchor</a>

正确输出:

foo.tagName = DIV
bar.tagName = (none)

var foo = document.getElementById('foo'), bar = document.getElementById('bar'); display("foo.tagName = " + foo.tagName); display("bar.tagName = " + (bar ? bar.tagName : "(none)")); 的“对象”是bar。)

IE6和IE7的输出:

foo.tagName = A
bar.tagName = A

null应该忽略带有document.getElementById s的a,但它不会在IE6或IE7上,因此IE会选择锚而不是name 1}}。

答案 1 :(得分:0)

您的问题可能是您使用的IE版本,或者IE认为它应该使用的版本。 JQuery不支持IE 6.如果你使用的是IE8,你可能需要放入HTML IE = edge,使你的浏览器行为像IE8,而不是自动模拟旧版本。

为此,请将下面的元标记添加到HTML的标题中。

<meta http-equiv="X-UA-Compatible" contant="IE=edge" />