推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Gaays

js 如何实现动态修改 class 样式类中的值,不是不能修改的吗?

  •  
  •   Gaays · Jan 21, 2022 · 2686 views
    This topic created in 1583 days ago, the information mentioned may be changed or developed.

    最近在研究宜搭的实现方式,看到修改容器 display 时会直接修改 class 内的值,这是怎么做到的? 修改右侧任意配置项后 class 内的值就会跟着变化 72kLM8.png

    12 replies    2022-01-21 17:36:19 +08:00
    Kasumi20
        1
    Kasumi20  
       Jan 21, 2022
    可以直接替换<style>标签的内容
    xiaojun1994
        2
    xiaojun1994  
       Jan 21, 2022
    可以好像通过 js 直接修改 css text 内容,具体我忘了
    Gaays
        3
    Gaays  
    OP
       Jan 21, 2022
    @Kasumi20 他这个 class 是动态生成的,每个拖拽组件的 class 都不一样,直接替换 style ? style 内容也得是动态生成的吧,不知道咋处理
    gadfly3173
        5
    gadfly3173  
       Jan 21, 2022
    从 css 来看是阿里自己搞了个模拟器的组件,整个左边都是 shadow dom
    gadfly3173
        6
    gadfly3173  
       Jan 21, 2022   ❤️ 1
    每个 node 都是单独一个 style ,有单独的 id ,应该就是根据这个 id 去替换 style
    yuzo555
        7
    yuzo555  
       Jan 21, 2022
    DOM 操作就可以直接添加新的 <style> 元素并且会生效,然后修改目标元素的 id 即可。
    gadfly3173
        8
    gadfly3173  
       Jan 21, 2022
    @yuzo555 #7 宜搭这个 css class id 是固定的,所以他是直接替换了指定 id 的 style 标签
    hurrytospring
        9
    hurrytospring  
       Jan 21, 2022
    css in js?
    3dwelcome
        10
    3dwelcome  
       Jan 21, 2022
    我有个 WEB 项目也用这种模式。

    正常来说,应该是用 js 语句来设置 element 的 style 。但我用的是 tailwindcss 语法,把 bg-red-200 实时翻译后,就变成了 background-color:#red

    不好用 style.backgroundColor = 'red';

    就只能用这种奇怪的模式来动态修改 CSS 。
    AyaseEri
        11
    AyaseEri  
       Jan 21, 2022
    const style = document.createElement("style");
    style.innerHTML = `.css_pseudo_node_${id} { display: ${display} }`

    最 low 的方法也不是不行
    Gaays
        12
    Gaays  
    OP
       Jan 21, 2022
    @gadfly3173 @yuzo555 @gadfly3173 正解,没想到用这种方式,有点秀
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2269 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 00:25 · PVG 08:25 · LAX 17:25 · JFK 20:25
    ♥ Do have faith in what you're doing.