2014-09-21 82 views
0

我在div內使用a jQuery plugin to highlight某些單詞。用外部文件中的單詞填充jQuery查詢

我設法使它工作,沒問題。我的問題是:如何填寫單詞列表以突出顯示文件中的單詞?

所以我有這行代碼: $('.textsection').highlight(["lorem", "non", "lectus"]);這將從頁面上的文本高亮「lorem」,「non」和「lectus」。它工作正常。

而是在查詢填充的話,一個接一個,因爲我有數百人,我想告訴jQuery的去參加一個.txt文件單詞的列表,其中每個字是在一個特定的線,如:

lorem 
non 
lectus 

基本上,結果我在尋找的東西像$('body').highlight(["wordslist.txt"]);(這顯然是行不通的,但你得到它)。

我該怎麼做?如何正確地給.txt文件抓取到jQuery?

謝謝:)

PS:我想補充「嗨」,但沒有工作:(

+0

使用一個js文件,而不是一個txt文件。 – dandavis 2014-09-21 00:11:39

+0

'$('body')。highlight([wordslist.js]);'會工作嗎? – Orphal 2014-09-21 00:14:24

回答

0

也許最簡單的方法是將編碼詞語的使用JSON文件然後用$.getJSON()從服務器抓住它。當然,因爲它的JavaScript中,優選的異步做到這一點。

例如,假設你有["lorem", "non", "lectus"]稱爲data.json一個文本文件中。你會加載它是這樣的:

$.getJSON("data.json", function(data) { 
    $('.textsection').highlight(data); 
}); 
+0

通過在WAMP中嘗試PHP環境的事件,這不起作用。我嘗試了'$(document).ready(function()'我內部和外部都缺少了什麼?我對JSON完全沒有信心,我對此一無所知:) – Orphal 2014-09-21 00:26:29

+0

Data.json文件是否正確目錄?它應該與.html文件位於同一個目錄中。檢查Javascript控制檯,看看有沒有錯誤。 – fstanis 2014-09-21 00:31:53

+0

這是一個.php文件,但是,它在同一個目錄中。我在本地主機上工作,如果它很重要。你說「用JSON編碼」,你的意思是什麼?在單獨的行上列出每個單詞是否足夠,或者data.json實際上必須包含一些代碼?如果需要一些代碼,我該怎麼做? – Orphal 2014-09-21 01:01:20

0

您可以使用此:

$.get("wordslist.txt", function(data) { 
    var arr= data.split("\n"); 
    $('body').highlight(arr); 
}); 
+0

它接近工作,但事實並非如此。當我做一個document.write()來查看'data.split(「\ n」)'返回時,它就像是:'lorem,non,lectus',它必須返回''lorem「,」non「,」 lectus「(每個單詞附近有雙引號) – Orphal 2014-09-21 01:14:15

+0

實際上,即使通過縮短單詞列表來進行測試,它也不起作用。在單詞列表中。txt我用'[「lorem」,「non」,「lectus」]'在文件中直接寫成'$ .get(「badwords.txt」,function(data){$('body'))。 .highlight(data);});'作爲代碼,它不起作用。 – Orphal 2014-09-21 01:43:08