为什么这段代码适用于jquery 1.3.2而不适用于1.4.2?

时间:2010-04-24 13:40:36

标签: javascript jquery xhtml

此代码

var tip = "<p class='adobe-reader-download'>Most computers will open PDF documents automatically, but you may need to download <a title='Link to Adobe website-opens in a new window'";
tip +=" href='http://www.adobe.com/products/acrobat/readstep2.html' target='_blank'>Adobe Reader</a>.</p>";


if($("div#maincontent a[href*='.pdf']").length>0){
    $("div#maincontent").children(":last-child").after(tip);

可以正常使用

<script
 src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
 type="text/javascript"></script>

但未使用此

<script 
type="text/jscript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>

2 个答案:

答案 0 :(得分:2)

“不起作用”是什么意思?提示是否未附加到页面?提示的链接不起作用吗?当你说它“不起作用”时要更具描述性,请告诉我们如何。

我在这里做了一个代码示例:http://jsbin.com/akugo/edit

使用JSBin,您可以告诉它使用什么版本的jQuery,并且我使用1.3.2和1.4.2测试它,我没有看到任何问题。我发布的代码中唯一更改的是我用括号(“}”)关闭了“if”语句。

答案 1 :(得分:1)

$(document).ready(function() {
            var tip = "<p class='adobe-reader-download'>Most computers will open PDF documents automatically, but you may need to download <a title='Link to Adobe website-opens in a new window'";

            tip += " href='http://www.adobe.com/products/acrobat/readstep2.html' target='_blank'>Adobe Reader</a>.</p>";


            if ($("div#maincontent a[href*='.pdf']").length > 0) {
                $("div#maincontent").children(":last-child").after(tip);
            }
        });

用这个:

<div id="maincontent">
    <a href="sample.pdf">your pdf</a>
</div>

用于jq 1.4的输出:

您的pdf

大多数计算机会自动打开PDF文档,但您可能需要下载Adobe Reader。