[英]Highlight list of words in the document using jQuery & java
我正在使用知道以下代碼來突出顯示文檔中的特定單詞
<script>
$(document).ready(function(){
$('h1').highlight('word1');
});
</script>
僅突出一個詞就可以正常工作!
但我的程序中有一個 arrylist,它是用 java ArrayList wordsList 編寫的;
我不知道怎么做我寫了以下
<script>
$(document).ready(function(){
for (int y=0;y<wordslist.size();y++)
{
$('h1').highlight(wordslist.get(y));
}
});
</script>
它不起作用,這不會突出顯示列表中的單詞
您需要為您的 Java 代碼使用<% %>
:
<script>
$(document).ready(function(){
<% for (int y=0;y<wordslist.size();y++)
{ %>
$('h1').highlight('<%= wordslist.get(y) %>');
<% } %>
});
</script>
wordsList 是一個 Java 變量。 它僅在服務器端可用。 您需要在執行 JavaScript 的客戶端對其進行迭代。 因此,您需要將 Java 變量轉換為 JavaScript 代碼:
<script>
$(document).ready(function() {
var javaScriptWordList = [
<c:forEach var="word" items="${wordList}">'${word}', </c:forEach> // JSP : server-side
];
for (var i = 0; i < javaScriptWordList.length; i++) {
$('h1').highlight(javaScriptWordList[i]);
}
});
</script>
一旦這個 JSP 被執行,如果 Java wordList 包含“hello”,“world”,則生成的 HTML 將如下所示:
<script>
$(document).ready(function() {
var javaScriptWordList = [
'hello', 'world',
];
for (var i = 0; i < javaScriptWordList.length; i++) {
$('h1').highlight(javaScriptWordList[i]);
}
});
</script>
但是請注意,您當然應該轉義列表中的單詞,以防它們包含會使 JavaScript 代碼無效的字符(例如,如果單詞之一是 O'Reilly)。 查看 commons-lang StringEscapeUtils.escapeJavaScript
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.