2014-09-26 66 views
1

我正在使用Toddish的Popup.js。 http://docs.toddish.co.uk/popup/demos/使用javascript/jquery完全刪除具有特定類的div的所有實例?

長話短說,彈出式插件在默認情況下會爲類「.popup_back」和「.popup_cont」創建div。 我有另一個按鈕,我希望按其中應該完全刪除添加的div與這些類後,它們已被生成並添加到HTML。彷彿他們從來沒有存在過。這當然有可能嗎?

我試圖運行它只是運行的函數:

$(".popup_back").remove(); 
$(".popup_cont").remove(); 

如本例所示: http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_dom_remove

不幸的是,儘管在運行,實際的div從來沒有要求刪除的代碼。

任何想法?我對這類東西很陌生,並且搜索了很多關於DOM等的內容,但還沒有破解它。

感謝

編輯: 在答覆意見:

的JavaScript:

function removePopups() { // This function is called to remove the popups. 
    console.log("removing..."); 
    $(".popup_back").remove(); 
    $(".popup_cont").remove(); 
} 



function func(url) { // url is the url of the image to be displayed within the popup. 
    removePopups(); // As soon as the function casillas is called, removePopups is used to remove any existing instances of the divs. 

    $('a.theimage').popup({ // This is where the Popup plugin is utilised. 
     content : $(url), 
     type : 'html' 
    }); 
} 

的HTML:

<a class="theimage" onclick="func('image/image1.jpg')" href="#" > 

長話短說,顯示圖像在彈出窗口中。 我認爲問題在於彈出式插件由於類而運行,但函數func在點擊發生時從未實際運行。但是同時「移除...」仍然會在控制檯中打印出來,它告訴我該函數正在執行。問題是我想讓彈出式插件與javascript函數一起運行。有衝突的解決方案嗎?

+1

它應該工作,你何時/如何調用這兩條線? – Overachiever 2014-09-26 14:45:58

+1

你可以發佈一個上下文來執行這些行嗎?他們應該按照自己的意願去做,而且你很可能只是在錯誤的時間執行它們。 – Bic 2014-09-26 14:46:25

+2

這可能只是在您試圖移除這些DIV時不存在。你可以發佈你的標記嗎? – 2014-09-26 14:47:12

回答

0

你實現真正應該如此簡單:

<a class="theimage" href="#" >Open</a> 

綁定在彈出的創建到您的彈出鏈接:

$('a.theimage').popup({ 
    content : 'image/image1.jpg', 
    type : 'html' 
}); 

我推測這裏,但什麼可能發生的是,您通過將popup()調用綁定到標記中的點擊處理程序來調用彈出窗口兩次。彈出式插件已將彈出窗口創建綁定到單擊事件。

查看工作demo。注意3外部資源:彈出式CSS,彈出式JS和jQuery JS。

相關問題