2012-05-29 73 views
1

我在我的jQuery代碼和前面的<li>我預先列出項目<li>我的<ul>我有一個文本鏈接,調用fancybox。類不工作在jQuery prepend

任何附加了類'fb'的點擊項目將調用並打開fancybox只有新添加的文本鏈接列表項纔會打開花哨的框。

所以這是我在前面加上

<a class='fb' href='viewtopic?id="+nextlistid+"'>"+title+"</a> 

我試着從鏈接移除(類=「FB」),而是給它一個唯一的ID,我後來嘗試添加$("theuniqueid").addClass("fb");但didnt似乎也這樣做。

這裏是代碼的fancybox(工作)

$(".fb").fancybox({ 
    'padding': 0, 
    'autoScale': false, 
    'transitionIn': 'none', 
    'transitionOut': 'none', 
    'overlayColor': '#f7f7f7', 
    'overlayOpacity': 0.5 
}); 

如何獲取類附加到新項目前加上任何想法?

在此先感謝

+0

你能展示添加新元素的代碼嗎?你在添加這個新項目之前還是之後調用'fancybox'? – lonesomeday

+0

看看這個http://stackoverflow.com/questions/9081571/how-to-bind-fancybox-to-dynamic-added-element –

+0

當我添加新的項目時,我不叫花哨的盒子,即它不是一個觸發器打開fancybox我只是想把類添加到新創建的鏈接,當用戶點擊它,反過來將打開fancybox,感謝回覆btw – Woz

回答

2

你,一旦你動態地添加一些元素(prepend這裏)再次重新綁定看中箱功能。像這樣的東西。

$("#thatDiv").prepend("<a class='fb' href='viewtopic?id="+nextlistid+"'>"+title+"</a>"); 
$(".fb").fancybox({ 
    'padding': 0, 
    'autoScale': false, 
    'transitionIn': 'none', 
    'transitionOut': 'none', 
    'overlayColor': '#f7f7f7', 
    'overlayOpacity': 0.5 
}); 

我可能會移動綁定代碼一個通用函數,以便我可以從很多地方調用它。

+0

非常感謝你:) – Woz

+0

@ user1402089:你受歡迎的。很高興我能幫上忙。 – Shyju

0

我想你應該再次在你最近添加的鏈接上調用你的fancybox方法。例如:

var li = $("<li></li>").addClass("fb"); 
$(ul).prepend(li); 
li.fancybox({/*...*/}); 

事實上,你加入你最近的項目動態,和以前$(「FB」)選擇不包括新創建的列表項。

+0

感謝Johnathan的迴應,問題似乎是一個有約束力的問題,謝謝回覆 – Woz