2016-08-21 102 views
-2

隨着 jQuery的(選擇作品)

elem = document.getElementById('container'); 
$(elem).load('file.html'); 

沒有 jQuery的(選擇不工作)

elem = document.getElementById('container'); 
elem.load('file.html'); 

我怎麼能執行一個元素的功能,而jQuery的?

加載()函數是已創建,我可以執行$(elem)上的load()函數,但不能在elem上執行load()函數。

+0

你應該添加'load'函數的定義方式。沒有你的問題沒有多大意義 –

回答

0

您使用DOM API(spec | MDN)和各種其他associated APIs。這個特定的例子是更多的工作,因爲你必須通過XMLHttpRequestspec | MDN)查詢資源,然後將你已經加載的HTML分配給元素的innerHTML

1

load是一個jQuery函數,所以沒有jQuery,它不存在。但你可以自己創建:

Object.prototype.load = function (src) { 
    var request = new XMLHttpRequest(), 
     elem = this; 
    // Make a request to the provided URL 
    request.open('GET', src, true); 

    request.onload = function() { 
     // When it is loaded 
     if (request.status >= 200 && request.status < 400) { 
      // Insert it in the DOM element 
      elem.innerHTML = request.responseText; 
     } 
    }; 

    request.send(); 
}; 

// Example usage 
var elem = document.getElementById('container'); 
elem.load('content.html'); 
+0

謝謝你的回答。這不是我已經創建的加載函數。這是關於'elem'選擇器。我可以在'$(elem)'上執行加載函數,但只能在'elem'上執行加載函數。 – Koen

+0

@Koen沒有看到你的代碼,很難告訴你如何修復它 – blex