2009-06-12 60 views
0

這是令人尷尬的,但在這裏。這是我正在處理的頁面:www.mchenry.edu/administration/BoardSchedule.asp爲什麼jQuery沒有根據屬性選擇器插入新的html?

我正在使用jQuery版本。 1.3.1,我正在桌上放上老虎條紋。一切都很好。但是,我想在文檔中的所有.pdf文件擴展名之後插入一個FileInfo類,以便用戶知道他們正在選擇PDF。這裏是我的小fileinfo.js jQuery代碼片段:

$(function(){ 
    $('<span class="FileInfo"> PDF </span>').insertAfter('li a[href$=.pdf]'); 
}); 

爲什麼它不工作?這是愚蠢的東西嗎?此片段適用於其他網頁,但不在此處。這是怎麼回事?

Thnx。

回答

1

你是一個LI元素下尋找所有a元素,如果你想用它在你的表的鏈接,你應該改變你的選擇:

$('td a[href$=.pdf]').after('<span class="FileInfo"> PDF </span>'); 
1

我認爲你想做的事就是......

$(function(){ 
    $('table a[href$=.pdf]').after('<span class="FileInfo">PDF</span>'); 
}); 

順便說一句,爲什麼不使用CSS只是代替?

table .pdf:after, table [href$=.pdf]:after { 
    content: " PDF"; 
} 
+0

什麼在這個差異和「insertafter」? (除了選擇器和內容位置被切換了 – TStamper 2009-06-12 16:12:54

+0

yup ... 「這個操作本質上是做一個正常的$(A).after(B)的反向操作,而不是在A之後插入B,你在B之後插入A.「 http://api.jquery.com/ – coma 2009-06-12 16:24:15