Javascript CSS:动态更改后悬停选择器不工作
Javascript CSS:动态更改后悬停选择器不工作,javascript,html,css,Javascript,Html,Css,我正在制作一个chrome扩展,它改变了元素的背景颜色,但是在改变了元素背景颜色之后
:悬停选择器不再工作。
我看到了,但就我而言,我不能将CSS规则更改为!重要的
是否可以在不使用覆盖:悬停规则的情况下以编程方式更改元素样式
例如:
var div=document.querySelectordiv;
div.onclick=函数{
div.style.background=红色;
//完成后,悬停不再工作
}
div{
高度:100px;
宽度:100px;
背景:绿色;
}
div:悬停
我正在制作一个chrome扩展,它改变了元素的背景颜色,但是在改变了元素背景颜色之后
:悬停选择器不再工作。
我看到了,但就我而言,我不能将CSS规则更改为!重要的
是否可以在不使用覆盖:悬停规则的情况下以编程方式更改元素样式
例如:
var div=document.querySelectordiv;
div.onclick=函数{
div.style.background=红色;
//完成后,悬停不再工作
}
div{
高度:100px;
宽度:100px;
背景:绿色;
}
div:悬停{
背景:蓝色;
}
我们可以使用javascript鼠标悬停和鼠标移出,如下所示
$id.mousehover
$document.readyfunction{
$p.mouseoverfunction{
$p.css背景色,红色;
}
$p.mouseoutfunction{
$p.cssbackground-color;
}
};
更改背景我们可以使用javascript鼠标悬停和鼠标移出,如下所示
$id.mousehover
$document.readyfunction{
$p.mouseoverfunction{
$p.css背景色,红色;
}
$p.mouseoutfunction{
$p.cssbackground-color;
}
};
如果无法使用,请更改背景!重要信息:您可以通过document.styleSheets获取:hover样式,并将其用于Javascript事件:
函数getElementHoverCssTextelement{
var elementHoverCssText=;
var docstyle=document.styleSheets;
var eltagregex=new RegExp+element.tagName+:悬停,gi;
var idregex=newregexp+element.id+:悬停,gi;
fori=0;i函数{
ifnew RegExp.+classn+:hover,gi.testdocstyle[i].cssRules[j].选择文本{
elementHoverCssText+=docstyle[i].cssRules[j].style.cssText;
}
};
ifidregex.testdocstyle[i].cssRules[j].selectorText{
elementHoverCssText+=docstyle[i].cssRules[j].style.cssText;
}
}
}
返回元素hovercsstext;
}
var originalcstext=element.style.cssText;
函数变换色标{
//el.style.backgroundColor=red;在单击后立即取消注释使按钮变为红色
el.innerHTML=鼠标悬停以查看颜色变化。
originalcstext+=背景色:红色;;
}
元素。addEventListenermouseover,函数{
originalcstext=element.style.cssText;
element.style.cssText+=getElementHoverCssTextelement;
};
元素。addEventListenermouseout,函数{
element.style.cssText=originalcstext;
};
元素{
高度:100px;
宽度:200px;
背景颜色:绿色;
}
元素:悬停{
背景颜色:蓝色;
}
单击可将颜色更改为红色,如果无法使用,则仍将保持悬停状态!重要信息:您可以通过document.styleSheets获取:hover样式,并将其用于Javascript事件:
函数getElementHoverCssTextelement{
var elementHoverCssText=;
var docstyle=document.styleSheets;
var eltagregex=new RegExp+element.tagName+:悬停,gi;
var idregex=newregexp+element.id+:悬停,gi;
fori=0;i函数{
ifnew RegExp.+classn+:hover,gi.testdocstyle[i].cssRules[j].选择文本{
elementHoverCssText+=docstyle[i].cssRules[j].style.cssText;
}
};
ifidregex.testdocstyle[i].cssRules[j].selectorText{
elementHoverCssText+=docstyle[i].cssRules[j].style.cssText;
}
}
}
返回元素hovercsstext;
}
var originalcstext=element.style.cssText;
函数变换色标{
//el.style.backgroundColor=red;在单击后立即取消注释使按钮变为红色
el.innerHTML=鼠标悬停以查看颜色变化。
originalcstext+=背景色:红色;;
}
元素。addEventListenermouseover,函数{
originalcstext=element.style.cssText;
element.style.cssText+=getElementHoverCssTextelement;
};
元素。addEventListenermouseout,函数{
element.style.cssText=originalcstext;
};
元素{
高度:100px;
宽度:200px;
背景颜色:绿色;
}
元素:悬停{
背景颜色:蓝色;
}
单击可将颜色更改为红色,但仍有鼠标悬停是的,您可以在+element.style.background上使用js鼠标悬停谢谢,但我不知道:在运行前悬停规则。可以在运行时获取:hover规则吗?你所说的hover规则是什么意思?在:hover{}选择器中,你可以在+element.style.background上使用js的规则谢谢,但我不知道:h
在跑步前,要遵守规则。是否可以在跑步时获取:hover规则?你所说的hover规则是什么意思?在:hover{}selectorTanks中的规则,但我不知道跑步前的:hover规则。可以在跑步时获取:悬停规则吗?谢谢,但我不知道跑步前的:悬停规则。是否可以在运行时获取:悬停规则?