$(document).ready(function () {
$("#btnhighlight").click(function () {
alert("yes");
var htext = $("#txthighlighttext").val();
$("#lstCodelist option").each(function () {
var sp = $(this).text();
var sp1 = sp.split(' ');
$.each(sp1, function (i, l) {
if (l == htext) {
l.css('color', 'yellow');
}
});
});
});
});
var x =“你好世界”;
我需要改变l上的文字颜色。这是支持我从字符串“你好”得到了文本。
CSS(
我可以l.('color', 'yellow');
我收到javascript错误。
如果我这样做$(this).css('color', 'yellow');
什么也没发生。
感谢
答案 0 :(得分:1)
尝试:
$(l).css('color', 'yellow');
编辑:
好的......你正在使用字符串而不是实际的DOM元素。我的建议是动态地将l
放入像<span>
之类的元素中,然后将CSS应用于该元素,然后替换DOM中的原始文本。我实际上做了类似于此的事情:
http://www.randomsnippets.com/2008/03/07/how-to-find-and-replace-text-dynamically-via-javascript/
我不是说这是一个完美的解决方案,但它会引导你走上正确的道路。
答案 1 :(得分:0)
l
in是您正在迭代的元素,将其包装在$
内并且您很高兴
尝试
$.each(sp1, function (i, l) {
if (l == htext) {
$(l).css('color', 'yellow');
}
答案 2 :(得分:0)
会像这样的工作吗? (未经测试)
$('<span>', {
'style': 'color:yellow',
html: l
}).appendTo('#divName');
答案 3 :(得分:0)
如前所述l
不是dom元素,这意味着你只需要在下一个循环中“推”它。
$("#lstCodelist option").each(function () {
var sp = this; //or $(this) and then you do sp.css('color', 'yellow');
var sp1 = $(this).split(' ');
$.each(sp1, function (i, l) {
if (l == htext) {
$(sp).css('color', 'yellow');
}
});
});