Jquery id选择器不在INTERNET EXPLORER上工作

时间:2011-05-10 08:11:37

标签: jquery internet-explorer

为什么这不适用于INTERNET EXPLORER:

我有这个html输入标签。我调用我的js函数在toprint元素上做一些工作。在FF,它的工作原理。但是在IE上我得到“缺少参数错误”。

<input type="button" onclick="PrintElem('#ToPrint')" value="<?php echo t("DOWNLOAD");?>" />

div元素位于页面中的某个位置:

    <div class="letterBody paddingLg LmarginXlg"  id="ToPrint">
<p>bla bla</p>
</div>

 <script type="text/javascript" language="javascript">


    function PrintElem(elem)

    {

        Popup($(elem).html());
    }

    function Popup(data)

    {

        var mywindow = window.open('', 'Press Release');
        mywindow.document.write('<html><head><title><?php echo $data->title  ;?></title>');
        mywindow.document.write(' <link rel="stylesheet" type="text/css" media="all" href="<?php echo base_path().$directory; ?>/css/printA4.css"/>');
        mywindow.document.write('</head><body  onload="" class="printA4">');
        mywindow.document.write(data);

/*
                $(document).ready(function() {
                this.title = '<?php echo $data->title  ;?>'


                 var salonLogo =   $("#salonLogo").attr("src")
                 var imgSalonLogo = salonLogo.search("salonlogo")
                 if(imgSalonLogo == -1){
                     $("#salonLogo").attr("src","")
                 }


                })
*/

        mywindow.document.write('</body></html>');
        mywindow.document.close();
        mywindow.print();
        return true;
    }

    $(document).ready(function() {
    this.title = '<?php echo $data->title  ;?>'
    })

</script>

1 个答案:

答案 0 :(得分:2)

错误可能在这一行:

var mywindow = window.open('', 'Press Release');
在IE中,窗口名称不能包含空格,因为它会映射到window变量。

使用类似

的内容
var mywindow = window.open('', 'PressRelease');

请在将来,始终显示错误发生的确切行,以及确切的错误 - 我认为它抱怨无效参数,而不是缺少之一。