このページでは、テキスト内の単語を検索し、すべての出現箇所を強調表示します。たとえば、「フロント エンド」を検索する場合は、「フロント エンド」のすべての出現箇所を強調表示する必要があります。以下のコードではそれらを強調表示していますが、出現箇所の大文字も置き換えられています。直せますか?ここに私のコードがあります:
これにより、jQuery には大文字と小文字が区別されません
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
これは、置換によって強調表示されるコードです
$('input[value="Zoeken"]').click(function(){
$('.section').html(function (i, str) {
yellowspan = new RegExp('<span style="background-color: #FFFF00">' ,"g");
empty = "";
return str.replace(yellowspan, empty);
});
$('.section').html(function (i, str) {
endspan = new RegExp("</span>" ,"g");
empty = "";
return str.replace(endspan, empty);
});
var string = $('input[placeholder="Zoeken"]').val();
$('.section:contains("' + string + '")').each(function(index, value){
$(this).html(function (i, str) {
simpletext = new RegExp(string,"gi");
yellowtext = "<span style='background-color: #FFFF00'>" + string + "</span>";
return str.replace(simpletext, yellowtext);
});
});
});
問題のあるコードは最後のhtml()
関数にあります