[英]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.