Javascript打印代码无效

时间:2016-09-21 07:13:37

标签: javascript jquery html

我有一个代码,当点击一个链接时打印一个特定的div,但我似乎无法让它工作。

代码的目的是,当我点击链接“HEJ”时,它应该打印我的div,称为mydiv,我发现了一个应该这样做的脚本,但我似乎无法让它工作。

<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js" > </script>

    <script type="text/javascript">

        function PrintElem(elem)
        {
            Popup($(elem).html());
        }

        function Popup(data) 
        {
            var mywindow = window.open('', 'my div', 'height=400,width=600');
            mywindow.document.write('<html><head><title>my div</title>');
            /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />');
            mywindow.document.write('</head><body><p style="font-family:arial">');
            mywindow.document.write(data);
            mywindow.document.write('</p></body></html>');

            mywindow.document.close(); // necessary for IE >= 10
            mywindow.focus(); // necessary for IE >= 10

            mywindow.print();
            mywindow.close();

            return true;
        }

    </script>

上面的代码是我在互联网上找到的javascript,下面的代码是触发javascript代码的HTML。

<div id="mydiv">
Test
</div>

<a href="#" onclick="PrintElem('.mydiv')" />HEJ</a>

我也尝试删除了。在onclick元素中的mydiv之前,但没有一个工作,当我点击链接时没有任何反应。

我希望你们能帮我解决这个问题。

3 个答案:

答案 0 :(得分:4)

传递给PrintElem()的参数是一个jQuery选择器,因此.mydiv正在选择对其class="mydiv"的元素。

在上面的情况中,由于存在一个带有id mydiv的div,我们将其定位为#mydiv

<a href="#" onclick="PrintElem('#mydiv')">HEJ</a>

我还修复了自动结束标记/>,它不会让您的链接正常工作。

答案 1 :(得分:0)

刚接到一个好友的电话,他说我应该改变

<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js" > </script>

<script type="text/javascript" src="
http://code.jquery.com/jquery-1.3.1.js" > </script> 

非常感谢你的时间!

答案 2 :(得分:0)

确保在代码中包含JQuery的引用。

将jQuery引用放入head部分,然后重试。像

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

希望这有帮助!