我有一个HTML表格,其中有三列
即错误 - 用户输入 - 正确格式
当我将鼠标悬停在桌子上时,行突出显示
\ CSS
table tr:hover
{
font-weight: bolder;
color:black;
}
当我悬停并执行此操作时,我希望文本也会在我的文本区域中突出显示
即如果我将鼠标悬停在第一行上,我希望“用户输入”列中的文本在文本区域中也是粗体,以便用户可以看到错误的位置
即错误 - 用户输入 - 正确格式 航班号12 [0-9] {3}
因此,当我将鼠标悬停在该行上时,我希望它在文本区域中搜索 12 ,并为每个 12 搜索并找到其他划船的相同内容。
http://jsfiddle.net/EZj9T/到目前为止我所拥有的是这样的,当你将鼠标悬停在标题中的一行以及其中的文本时,还要加粗文本区域中的文本
答案 0 :(得分:0)
我认为您不能在textarea中添加标记(例如STRONG
标记)。您也可以使用适合的视觉样式。
如果你有一个DIV
而不是一个textarea(就像一个有意思的),你会做类似的事情:
$('tr').hover(function() {
var ta = $(this).find('.textarea');
ta.html(ta.html().replace(/12/g,'<strong>12</strong>'));
});
<强>更新强>
以下是您尝试做的想法的示例:http://jsfiddle.net/EZj9T/4/
您需要使用contenteditable
DIV才能使用内部标记突出显示单词,textarea
将不允许使用。
$('tr').hover(function() {
var text = [];
$.each($(this).find('td'), function() {
text.push($.trim($(this).text()));
});
highlight(text);
},function() {
highlight(null);
});
var area = $('div[contenteditable]');
function highlight(what) {
area.html(area.html().replace(/<strong\/?>/g,''));
$.each(what || [], function(i, val) {
area.html(area.html().replace(new RegExp(val,'gi'),'<strong>'+val+'</strong>'));
});
}