代码之家  ›  专栏  ›  技术社区  ›  GateKiller

如何使用javascript设置HTML的CSS背景色

  •  92
  • GateKiller  · 技术社区  · 16 年前

    如何使用javascript设置HTML元素的CSS背景色?

    16 回复  |  直到 6 年前
        1
  •  144
  •   Linus Caldwell Emperor 2052    11 年前

    通常,CSS属性通过使其不带任何破折号的camelcase转换为javascript。所以 background-color 变成 backgroundColor .

    function setColor(element, color)
    {
        element.style.backgroundColor = color;
    }
    
        2
  •  28
  •   thanksd thibaut noah    8 年前

    如果将所有样式等保留在CSS中,并只在javascript中设置/取消设置类名,您可能会发现代码更易于维护。

    你的CSS显然是这样的:

    .highlight {
        background:#ff00aa;
    }
    

    然后在javascript中:

    element.className = element.className === 'highlight' ? '' : 'highlight';
    
        3
  •  23
  •   Ivan Jeffrey Zhao    6 年前
    var element = document.getElementById('element');
    element.style.background = '#FF00AA';
    
        4
  •  20
  •   geocoin    16 年前

    或者,使用一点jquery:

    $('#fieldID').css('background-color', '#FF6600');
    
        5
  •  7
  •   james.garriss Pavel    13 年前

    将此脚本元素添加到body元素中:

    <body>
      <script type="text/javascript">
         document.body.style.backgroundColor = "#AAAAAA";
      </script>
    </body>
    
        6
  •  6
  •   Alexander Elgin    8 年前

    var element = document.getElementById('element');
    
    element.onclick = function() {
      element.classList.add('backGroundColor');
      
      setTimeout(function() {
        element.classList.remove('backGroundColor');
      }, 2000);
    };
    .backGroundColor {
        background-color: green;
    }
    <div id="element">Click Me</div>
        7
  •  4
  •   Ajay Gupta    8 年前

    你可以试试这个

    var element = document.getElementById('element_id');
    element.style.backgroundColor = "color or color_code";
    

    例子。

    var element = document.getElementById('firstname');
    element.style.backgroundColor = "green";//Or #ff55ff
    

    JSFIDDLE

        8
  •  4
  •   djl    8 年前

    您可以使用jquery来完成:

    $(".class").css("background","yellow");
    
        9
  •  3
  •   Brad Koch Daniel Wright    11 年前

    接吻答案:

    document.getElementById('element').style.background = '#DD00DD';
    
        10
  •  3
  •   Saeed    11 年前

    你可以使用:

      <script type="text/javascript">
         Window.body.style.backgroundColor = "#5a5a5a";
      </script>
    
        11
  •  3
  •   pragadeesh mahendran    7 年前
    $('#ID / .Class').css('background-color', '#FF6600');
    

    通过使用jquery,我们可以将元素的类或ID作为目标,以应用CSS背景或任何其他样式。

        12
  •  2
  •   Srikrushna    7 年前
    $("body").css("background","green"); //jQuery
    
    document.body.style.backgroundColor = "green"; //javascript
    

    有很多种方法,我觉得很简单

    Demo On Plunker

        13
  •  1
  •   Jonesopolis    10 年前

    你可以使用

    $('#elementID').css('background-color', '#C0C0C0');
    
        14
  •  0
  •   Mr.Pandya    7 年前

    Javascript:

    document.getElementById("ID").style.background = "colorName"; //JS ID
    
    document.getElementsByClassName("ClassName")[0].style.background = "colorName"; //JS Class
    

    jQuery:

    $('#ID/.className').css("background","colorName") // One style
    
    $('#ID/.className').css({"background":"colorName","color":"colorname"}); //Multiple style
    
        15
  •  0
  •   Ivan Jeffrey Zhao    6 年前

    更改的CSS HTMLElement

    您可以使用javascript更改大多数CSS属性,使用以下语句:

    document.querySelector(<selector>).style[<property>] = <new style>
    

    哪里 <selector> , <property> , <new style> 都是 String 物体。

    通常,Style属性的名称与CSS中使用的实际名称相同。但只要有一个词不止一个,就会出现驼色的情况:例如 background-color 随着改变 backgroundColor .

    下面的语句将设置 #container 红色:

    documentquerySelector('#container').style.background = 'red'
    

    下面是一个每0.5秒改变盒子颜色的快速演示:

    colors = ['rosybrown', 'cornflowerblue', 'pink', 'lightblue', 'lemonchiffon', 'lightgrey', 'lightcoral', 'blueviolet', 'firebrick', 'fuchsia', 'lightgreen', 'red', 'purple', 'cyan']
    
    let i = 0
    setInterval(() => {
      const random = Math.floor(Math.random()*colors.length)
      document.querySelector('.box').style.background = colors[random];
    }, 500)
    .box {
      width: 100px;
      height: 100px;
    }
    <div class="box"></div>

    更改多个CSS HTML-元素

    假设您希望将CSS样式应用于多个元素,例如,使用类名使所有元素的背景色 box lightgreen . 然后你可以:

    1. 选择元素 .querySelectorAll 把它们展开成一个物体 Array destructuring syntax :

      const elements = [...document.querySelectorAll('.box')]
      
    2. 循环数组 .forEach 并将更改应用于每个元素:

      elements.forEach(element => element.style.background = 'lightgreen')
      

    下面是演示:

    const elements = [...document.querySelectorAll('.box')]
    elements.forEach(element => element.style.background = 'lightgreen')
    .box {
      height: 100px;
      width: 100px;
      display: inline-block;
      margin: 10px;
    }
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>

    另一种方法

    如果要多次更改元素的多个样式属性,可以考虑使用其他方法:将此元素链接到其他类。

    假设您可以预先在CSS中准备样式,那么您可以通过访问 classList 并调用 toggle 功能:

    document.querySelector('.box').classList.toggle('orange')
    .box {
      width: 100px;
      height: 100px;
    }
    
    .orange {
      background: orange;
    }
    <div class='box'></div>

    javascript中的css属性列表

    以下是完整的列表:

    alignContent
    alignItems
    alignSelf
    animation
    animationDelay
    animationDirection
    animationDuration
    animationFillMode
    animationIterationCount
    animationName
    animationTimingFunction
    animationPlayState
    background
    backgroundAttachment
    backgroundColor
    backgroundImage
    backgroundPosition
    backgroundRepeat
    backgroundClip
    backgroundOrigin
    backgroundSize</a></td>
    backfaceVisibility
    borderBottom
    borderBottomColor
    borderBottomLeftRadius
    borderBottomRightRadius
    borderBottomStyle
    borderBottomWidth
    borderCollapse
    borderColor
    borderImage
    borderImageOutset
    borderImageRepeat
    borderImageSlice
    borderImageSource  
    borderImageWidth
    borderLeft
    borderLeftColor
    borderLeftStyle
    borderLeftWidth
    borderRadius
    borderRight
    borderRightColor
    borderRightStyle
    borderRightWidth
    borderSpacing
    borderStyle
    borderTop
    borderTopColor
    borderTopLeftRadius
    borderTopRightRadius
    borderTopStyle
    borderTopWidth
    borderWidth
    bottom
    boxShadow
    boxSizing
    captionSide
    clear
    clip
    color
    columnCount
    columnFill
    columnGap
    columnRule
    columnRuleColor
    columnRuleStyle
    columnRuleWidth
    columns
    columnSpan
    columnWidth
    counterIncrement
    counterReset
    cursor
    direction
    display
    emptyCells
    filter
    flex
    flexBasis
    flexDirection
    flexFlow
    flexGrow
    flexShrink
    flexWrap
    content
    fontStretch
    hangingPunctuation
    height
    hyphens
    icon
    imageOrientation
    navDown
    navIndex
    navLeft
    navRight
    navUp>
    cssFloat
    font
    fontFamily
    fontSize
    fontStyle
    fontVariant
    fontWeight
    fontSizeAdjust
    justifyContent
    left
    letterSpacing
    lineHeight
    listStyle
    listStyleImage
    listStylePosition
    listStyleType
    margin
    marginBottom
    marginLeft
    marginRight
    marginTop
    maxHeight
    maxWidth
    minHeight
    minWidth
    opacity
    order
    orphans
    outline
    outlineColor
    outlineOffset
    outlineStyle
    outlineWidth
    overflow
    overflowX
    overflowY
    padding
    paddingBottom
    paddingLeft
    paddingRight
    paddingTop
    pageBreakAfter
    pageBreakBefore
    pageBreakInside
    perspective
    perspectiveOrigin
    position
    quotes
    resize
    right
    tableLayout
    tabSize
    textAlign
    textAlignLast
    textDecoration
    textDecorationColor
    textDecorationLine
    textDecorationStyle
    textIndent
    textOverflow
    textShadow
    textTransform
    textJustify
    top
    transform
    transformOrigin
    transformStyle
    transition
    transitionProperty
    transitionDuration
    transitionTimingFunction
    transitionDelay
    unicodeBidi
    userSelect
    verticalAlign
    visibility
    voiceBalance
    voiceDuration
    voicePitch
    voicePitchRange
    voiceRate
    voiceStress
    voiceVolume
    whiteSpace
    width
    wordBreak
    wordSpacing
    wordWrap
    widows
    writingMode
    zIndex
    
        16
  •  -1
  •   SuperBiasedMan Jayesh Kalkani    9 年前
    $(".class")[0].style.background = "blue";