在下面的“dev函数”中,我正在尝试将字符串转换为小写,以便在“html”变量中的字符串与span标记的内容之间执行小写到小写的比较。
在尝试将span转换为小写时,我必须在dev函数上做错了,因为高亮类似乎没有附加...
var html = jQuery('#content').html().toLowerCase();
//existing function works when the span is preset to lowercase
jQuery(".my_kw").find("span").filter(function() {
return html.indexOf(jQuery(this).html()) != -1;
}).each(function() {
jQuery(this).addClass('highlight');
});
}
//dev function. Trying to allow for spans to be mixed case, and force to lowercase only for comparison
jQuery(".my_kw").find("span").filter(function() {
var kw = jQuery(this).toLowerCase();
return html.indexOf(kw.html()) != -1;
}).each(function() {
jQuery(this).addClass('highlight');
});
}
答案 0 :(得分:7)
我认为你错过了对.html()
考虑你的第一个电话:
return html.indexOf(jQuery(this).html()) != -1;
和你的第二个:
var kw = jQuery(this).toLowerCase();
也就是说,你可能想要:
var kw = jQuery(this).html().toLowerCase();
return html.indexOf(kw) != -1;
答案 1 :(得分:0)
在将span内容转换为小写字母(第2行)之后,就像你调用.html()
函数(第3行)一样,对我来说,从而产生一个混合大小写字符串。试试这个:
var kw = jQuery(this).html().toLowerCase();
return html.indexOf(kw) != -1;