$(".filter-close").click(function(){
$(this).parent().remove();
});
此代碼段在控制檯中工作,但既不在腳本標記中,也不在附加的js文件中。jquery代碼在控制檯上工作,但不在腳本標記或附加的js文件中
$(".filter-close").click(function(){
$(this).parent().remove();
});
此代碼段在控制檯中工作,但既不在腳本標記中,也不在附加的js文件中。jquery代碼在控制檯上工作,但不在腳本標記或附加的js文件中
等待DOM調用事件處理函數時,要準備好:
jQuery(function($) { // this does the trick and also makes sure jQuery is not conflicting with another library
$(".filter-close").click(function(){
$(this).parent().remove();
});
});
在使用其他JavaScript庫,我們不妨致電$ .noConflict(),以避免命名空間的困難。當這個函數被調用時,$快捷方式不再可用,迫使我們每次通常寫$都寫jQuery。 但是,傳遞給.ready()方法的處理程序可以接受一個參數,該參數傳遞給全局jQuery對象。這意味着我們可以在不影響其它代碼
Documentation for .ready()
method我們。就緒()處理的範圍內對象重命名爲
因爲OP表示代碼在控制檯中工作,所以我們可以假設'$'已經指向jQuery,但這仍然是很好的信息 –
@ A.Wolff:當然,我只想指出其他答案沒有提到:) – D4V1D
也許元素filter-close
在您調用此函數時不存在於DOM中。我想你正在向DOM動態添加元素。你是?
這不是一個答案,它只是一個評論。 – D4V1D
我認爲這兩者都是。 –
@UjwalRatra - 它可能是兩個,但SO指導明確表示答案必須回答這個問題,如果你包含代碼示例,如果它動態添加,該怎麼做,那麼也許它的答案 - 否則它只是一個評論 –
當附加事件處理程序時,這可能是DOM中不存在的問題。
嘗試是這樣的:
$(document).ready(function() {
// Handler for .ready() called.
$(".filter-close").click(function(){
$(this).parent().remove();
});
});
的$。就緒()(下面的鏈接)確保它不嘗試調用代碼中的DOM渲染之前,類似的OnLoad添加的處理程序。
Documentation for JQuery .ready()
method
也有潛在的庫衝突(見@ D4V1D答案例如說),但我們不能說肯定不知道什麼錯誤消息出現在控制檯(如果有的話),理想更多關於周圍的代碼。
請按F12,看看在控制檯和/或網絡面板中打印什麼,或者如果F12不執行任何操作,請在Google「BrowserName dev console」中查看。
但是,正如說,這工作在控制檯上,所以我假設你的意思是,開發者控制檯,它其實只是一個時間問題,因此不太可能發生衝突(但仍可能語法錯誤,其他頁面上的某個地方)
請至少複製粘貼+的頁面的代碼你使用它,然後單擊F12以查看是否有任何dev控制檯中的錯誤。 –
在腳本標記或附加的js文件中運行時會出現什麼錯誤? – D4V1D
愚蠢的我,但爲什麼這個問題得到兩個upvotes ??? –