我在網站上使用jQuery進行動態內容行爲。我有一個錯誤:TypeError:show不是函數
TypeError: $("#id").attr("src", thisContent.attr("data-attr")).show is not a function
首先我以爲它是瀏覽器相關的,但事實證明,它不是。錯誤在此行上:
$('#id').attr('src', thisContent.attr('data-attr')).show();
我在網站上使用jQuery進行動態內容行爲。我有一個錯誤:TypeError:show不是函數
TypeError: $("#id").attr("src", thisContent.attr("data-attr")).show is not a function
首先我以爲它是瀏覽器相關的,但事實證明,它不是。錯誤在此行上:
$('#id').attr('src', thisContent.attr('data-attr')).show();
如果.attr()
第二個參數是undefined
,吸氣將被調用。 似乎是調用getter而不是setter。
消氣:
$(...).attr(String) // returns String which has no method .show()
二傳手:
$(...).attr(String, String) // returns jQuery object, which has method .show()
thisContent.attr('data-attr')
可能會返回在某些情況下undefined
,併爲此吸氣劑被調用,而不是期望的setter方法。
請嘗試以下操作。
將您的data-attr重命名爲其他名稱。
查看數據attr是否存在於thisContect.attr中。
記錄下列行並轉到控制檯。在那裏你會看到數據attr不存在或者位於錯誤的地方。
console.log(thisContent);
隨機問題,但可以肯定...
您是否通過CDN訪問jQuery?
如果你是這樣,兩臺機器都可以加載jQuery代碼嗎?兩者都可以看到沒有問題的CDN(都連接到互聯網)?和其他位的jQuery代碼正在工作?
瀏覽器在呈現/處理JS的方式上存在差異是非常罕見的,因爲它是一種非常成熟的語言。所以我的建議是,不是基於瀏覽器的問題,而是代碼之外的東西。
只是一個想法..
什麼是'thisContent'? – VisioN
'var thisContent = $(this).find('。content');' – Pavlo
似乎只有fire-fox版本問題 –