我有用AJAX加載的內容,我需要知道用於加載的dom元素上的事件的變量的值。在jquery加載後使用jquery中的新dom元素獲取變量
這是我的代碼:
var course_select = $(this).closest('div[id^=course-]').attr('id');
// get the course id
var course_id = course_select.split('-')[1]; // get the number
$.ajax({
type: 'POST',
url: 'main/ajaxjson/load_course_details',
data: {page : which, course_id: course_id},
success: function(home){
$('#ajax-content-' + course_id).hide();
$('#ajax-content-' + course_id).empty().append(home);
$('#ajax-content-' + course_id).fadeIn();
})`
我得到新加載的內容之後,我綁定的事件是這樣的: $('body').on('click',param_here, function_here(){});
我需要COURSE_ID變量可用新進行訪問元素。
回答
您可以在.ajax()
之前定義一個變量,並將其設置爲您的成功方法。
但是你永遠不會知道在運行時ajax是否已經完全完成,或者更具體的說,你不知道什麼時候設置了var courseId
。
所以,你可以做的是改變你的變量的值,然後觸發像這樣$(body).trigger('courseIdUpdate');
自定義事件和所有你必須做的是偵聽該事件,如:
$(body).on('courseIdUpdate',function(){
alert("My course Id has been updated");
//run additional code that needs the updated courseId
});
這是一個有點簡單的任務,但也許你應該考慮這一點。
+1它確實幫助我解決了類似的問題,謝謝! – igrossiter 2014-06-05 00:39:05
不客氣;-) – 2014-06-06 13:26:48
- 1. DOM加載後的jQuery訪問元素
- 2. 獲取jQuery timeago插件來識別新加載的DOM元素
- 3. 使用jQuery獲取DOM元素名稱
- 4. 獲取DOM元素使用jQuery
- 5. 無法在jQuery中獲取DOM元素
- 6. 使用jQuery在頁面內容完全加載後在DOM中添加元素
- 7. jQuery在追加到DOM之前使元素變量爲零
- 8. Jquery獲取AJAX加載元素的值
- 9. jQuery附加到jQuery變量,而不是DOM元素
- 10. 關於使用jQuery each()在DOM元素中加載數組元素的問題
- 11. 自變量與jQuery刪除DOM元素
- 12. jQuery的更新變量引用DOM元素
- 13. 如何使用jquery在頁面中獲取dom元素值
- 14. 在jquery加載後更改dom元素的位置
- 15. 在頁面加載後加載的元素上使用jquery
- 16. jQuery獲取編輯DOM後的最後一個元素
- 17. 如何使用jQuery添加DOM元素?
- 18. jquery使用$ .on添加dom元素?
- 19. 獲取對jQuery DOM元素的新引用
- 20. 在DOM加載之前使用jQuery更改元素
- 21. 在將新元素添加到DOM之後,使用jQuery來附加行爲?
- 22. jQuery添加DOM元素
- 23. jQuery的訪問新加載的DOM元素
- 24. jQuery的獲得第七元素在DOM
- 25. jQuery的DOM元素
- 26. 使用jQuery獲取所有DOM元素的最佳方式
- 27. 如何使用JQuery獲取DOM元素的標識
- 28. PHP/jQuery重新加載DOM
- 29. 如何獲得一個DOM元素到jQuery變量?
- 30. 使用jQuery捕獲元素「加載」事件append() - ed元素?
爲什麼不把課程ID放在返回元素的類名中?這將使得選擇它們非常容易。 – 2012-03-05 14:41:45
你是什麼意思的類名? – Mythriel 2012-03-05 16:35:44