Javascript Can';t在表格中使用CSS更改文本的颜色

Javascript Can';t在表格中使用CSS更改文本的颜色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想在标签中添加颜色样式 这仅在使用以下属性时有效: `background-color`: orange; 但我想它应该只改变文本,而不是背景 像这样: `color`: orange; 在这个演示中,不需要Javascript仍然工作 我的演示在这里: 函数firefoxFix(){ if(/firefox/.test(window.navigator.userAgent.toLowerCase()){ var tds=document.getElementsByTagName('td

我想在
标签中添加颜色样式

这仅在使用以下属性时有效:

`background-color`: orange;
但我想它应该只改变文本,而不是背景

像这样:

`color`: orange;
在这个演示中,不需要Javascript仍然工作

我的演示在这里:

函数firefoxFix(){ if(/firefox/.test(window.navigator.userAgent.toLowerCase()){ var tds=document.getElementsByTagName('td'); 对于(var指数=0;指数
表格{
边界间距:0;
边界塌陷:塌陷;
溢出:隐藏;
z指数:1;
}
td,th,.ff固定{
光标:指针;
填充:10px;
位置:相对位置;
}
td:hover::之后,
.ff修复:悬停::在{
背景颜色:橙色;
内容:'\00a0';
高度:10000px;
左:0;
位置:绝对位置;
顶部:-5000px;
宽度:100%;
z指数:-1;
}

2021232527
1820222426
1719212325
1618202224

我认为更好的方法是在用户使用firefox时向html元素添加类。您可以为此使用匿名函数,例如:

(函数(html){
if(/firefox/.test(window.navigator.userAgent.toLowerCase()){
html.classList.add('is-firefox');
}
})(document.documentElement);

然后可以为该类添加css:

是firefox td吗{ 颜色:橙色; }

工作。在Chrome54和Firefox45中测试

您也可以在不使用任何javascript的情况下尝试此css修复,如下所示:

@-moz文档url-prefix(){
运输署{
颜色:橙色;
}
}

这里有一些关于CSS黑客的更多信息:

您可以在每个单元格悬停时调用函数,如下所示:

function a(ele){              //On mouse over
ele.style.color = 'orange'; 
}

function b(ele){             // On mouse out
ele.style.color = 'grey';
}

你好,试试下面这个

$('td')。悬停(函数(){
var t=parseInt($(this).index())+1;
$('td:n个子('+t+')).addClass('highlighted');
},
函数(){
var t=parseInt($(this).index())+1;
$('td:n个子('+t+')).removeClass('highlighted');
});
表格,td{
边框:1px纯黑;
}
运输署{
宽度:40px;
高度:40px;
}
.突出显示{
颜色:橙色;
背景色:黑色;
}

aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa

您可以在
事件中向所有
td
元素添加
className
。在
mouseleave
事件中,从
td
元素中删除
className

var elems=document.querySelectorAll(“td”);
var elemParents=document.querySelectorAll(“tr”)
用于(要素的var td){
td.addEventListener(“鼠标悬停”,函数(e){
var指数=e.target.cellIndex;
对于(让tr代表elemParents){
tr.querySelectorAll(“td”)[索引]
.className=“颜色”;
}
});
td.addEventListener(“鼠标移动”,函数(e){
对于(让tr代表elemParents){
for(tr.querySelectorAll(“td”)的var单元格){
cell.className=“”;
}
}
})
}
函数firefoxFix(){
if(/firefox/.test(window.navigator.userAgent.toLowerCase()){
var tds=document.getElementsByTagName('td');
对于(var指数=0;指数
.color{
颜色:橙色;
}
桌子{
边界间距:0;
边界塌陷:塌陷;
溢出:隐藏;
z指数:1;
}
运输署,
th,
.ff修复{
光标:指针;
填充:10px;
位置:相对位置;
}
td:hover::之后,
.ff修复:悬停::之后{
背景颜色:蓝色;
内容:'\00a0';
高度:10000px;
左:0;
位置:绝对位置;
顶部:-5000px;
宽度:100%;
z指数:-1;
}

20
21
23
25
27
18
20
22
24
26
17
19
21
23
25
16
18
20
22
24

CSS是由不知道如何拼写“color”的美国人设计的,因此属性名为
color
。您想设置
color
而不是
background
?是的,我想设置文本的
color
,而不是单元格的
background color
。您想只在悬浮特定列时更改颜色吗?是吗?@w3b。正当你可以在我的演示代码中看到。更改单元格(特定列的一部分)中文本的颜色,而不是更改单元格(特定列的一部分)中背景的颜色。我在浏览器中编写,除了IE 9-。我试过你的代码,但它不起作用。我试过你的小提琴。它只显示一个文本:
Test
。我不认为这是什么意思?是的“测试”在Chrome上为黑色,在Firefox上为橙色。在firefox上更改颜色是你的问题?我理解。你似乎错了;我不区分Chrome和Firefox。我只想:当用户将鼠标悬停在特定列上时,它会自动将该列的文本高亮显示为橙色。目前,我只更改成功背景色。你了解我的公关吗