やろうとしていること: タイトルにある通り、単語が予約語であればCSSを設定したいです。
HTML
<html>
<body>
<code id="java">
public static void main(String[] args)<br>
{
<pre> System.out.println("Hello World!");</pre>
}
</code>
</body>
</html>
jQuery
$(document).ready(function()
{
// Get the text inside the code tags
var code = $("#java").text();
// Split up each word
var split = code.split(' ');
// Array of reserved words
var array = ["abstract","assert","boolean","break","byte","case",
"catch","char","class","const","continue","default",
"do","double","else","else if","enum","extends","final",
"finally","float","for","goto","if","import","implements",
"instanceof","int","interface","long","native","new","null",
"package","private","protected","public","return","short",
"static","strictfp","super","switch","synchronized","this",
"throw","throws","transient","void","volatile","while"];
// Added when text contains a reserved word
var css = {'font-weight':'bold','color':'#2400D9'}
array = jQuery.map(array, function(n,i)
{
for (int j=0; j<array.length; j++)
{
if (split[i].contains(array[j]))
split[i].css(css);
}
});
});
問題: いくつかの方法のドキュメントを参照しましたが (以下の参照セクションにあります)、どこに問題があるのかよくわかりません。問題を絞り込むために、私の質問は...
.split()
jQueryのメソッドでもありますか?- ループを使用
for
して配列内のすべての単語を実行する必要がありますか (コードに予約語が含まれているかどうかを確認するため)、またはより良い方法 ( など.each()
) はありますか? - を使用する必要がある場合
.each()
、誰かが簡単な例を教えてください。ドキュメントの例がわかりません。
参考文献