2010-04-24 78 views
0

這個代碼爲什麼此代碼與jquery 1.3.2協同工作,但與1.4.2協同工作?

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> 
+3

對於一個你沒有逃過'adobe-reader-download'周圍的雙引號的人。 – cletus 2010-04-24 13:42:03

+0

我不知道爲什麼。但也許是因爲你的如果沒有關閉.. PS:你可以擺脫「> 0」它沒有它的工作原理:P – meo 2010-04-24 13:43:22

+0

你真的沒有解釋太多什麼是行不通的。你有沒有試過用Firebug來看看發生了什麼? DOM是否會被修改?有錯誤嗎? – Pointy 2010-04-24 14:37:07

回答

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。

+0

仍然不適用於1.4.2。這個classname'class ='adobe-reader-download''與1.3.2 – 2010-04-24 13:45:58

+0

一起使用更新了答案 – XGreen 2010-04-24 13:52:27

+0

我就是這樣的,它可以正常工作1.4 – XGreen 2010-04-24 13:55:01

2

你是什麼意思的「不工作」?提示不會被附加到頁面上嗎?該提示的鏈接不起作用?當你說它「不起作用」時,要多描述一下,告訴我們如何。

我做了這個代碼在這裏的一個例子:http://jsbin.com/akugo/edit

隨着JSBin你可以告訴它使用的是什麼版本的jQuery,我已經使用1.3.2和1.4.2和我不測試它沒有看到任何問題。我發佈的代碼中唯一改變的是我用括號(「}」)關閉了「if」語句。