仅14行 JS 函数动态更改 HTML 伪类 的 CSS Style 样式 [ 单个伪类单个控制,不会无限增加 <style> 标签 ]
783访客 78字under Website Notes of Programming tag javascript html css pseudo class Published on April 15th , 2021 at 08:29 pm
/* ----【函数】更改伪类CSS样式---- */
function ChangePseudoClassStyle(PseudoClassCSSName, CSSText) { //伪类名 例"a:after", 新样式
var PseudoClassCSSID = PseudoClassCSSName; // 设置控制伪类的<style>的ID值为伪类名
/* ----【子函数】生成新的<style>---- */
var css = function(t) {
var s = document.createElement('style');
s.id = PseudoClassCSSID;
s.innerText = t;
document.body.appendChild(s);
};
/* ----查找旧的<style>并删除,防止CSS越建越多,随着函数触发无限增长---- */
var PCS = document.getElementById(PseudoClassCSSName);
if (PCS != null) {
PCS.remove();
}
css(PseudoClassCSSName + ' {' + CSSText + '}'); // 填入传入的CSS文本
// 保留CSS文本例子:css('p:after {color:red; content:\'[我变红了]\'}');
};
使用例
ChangePseudoClassStyle("body:after", "margin-left: 0px");
本页由 matcha 整理和发布,采用 知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
文章最后更新时间为:April 16th , 2021 at 04:06 am
分享到:Twitter Weibo Facebook