jQuery更改HTML元素的样式


110

我有HTML清单

<div id="header" class="row">
    <div id="logo" class="col_12">And the winner is<span>n't...</span></div> 
    <div id="navigation" class="row"> 
        <ul id="pirra">
            <li><a href="#">Why?</a></li>
            <li><a href="#">Synopsis</a></li>
            <li><a href="#">Stills/Photos</a></li>
            <li><a href="#">Videos/clips</a></li>
            <li><a href="#">Quotes</a></li>
            <li><a href="#">Quiz</a></li>
        </ul>
    </div>  

它可以很好地在CSS更改上水平显示

    div#navigation ul li { 
        display: inline-block;
    }

但是现在我想使用jQuery,我使用:

    $(document).ready(function() {
  console.log('hello');
   $('#navigation ul li').css('display': 'inline-block');
});

但不起作用,我用jQuery设置元素样式有什么错误?

谢谢


该问题是由错字引起的。JavaScript函数调用中的参数用,not 分隔:
昆汀

Answers:


240

用这个:

$('#navigation ul li').css('display', 'inline-block');

另外,正如其他人所述,如果您想一次进行多个CSS更改,那就是当您添加花括号(用于对象表示法)时,它看起来像这样(如果您想更改,例如,“背景” -颜色”和“位置”以及“展示”):

$('#navigation ul li').css({'display': 'inline-block', 'background-color': '#fff', 'position': 'relative'}); //The specific CSS changes after the first one, are, of course, just examples.

6
或者:$('#navigation ul li').css({'display': 'inline-block'});-我经常将两者混为一谈。
Blazemonger 2013年

1
@Blazemonger大声笑,我什至不知道您可以做到这一点,但是现在您提到它,“确实”有意义。感谢您在这里扩大视野。
VoidKing

似乎更好地记住了花括号的版本,因为它可以使用相同的语法一次适应一个或多个属性;)
cladelpino

骆驼的情况也可以,所以您可以使用.css({backgroundColor:“ #fff”})-PS我讨厌双引号,但在此评论中更容易看到它们
danday74 '19



5

您也可以像这样指定多个样式值

$('#navigation ul li').css({'display': 'inline-block','background-color': '#ff0000', 'color': '#ffffff'});

3

我认为您也可以使用此代码:并且可以更好地管理类CSS

<style>
   .navigationClass{
        display: inline-block;
        padding: 0px 0px 0px 6px;
        background-color: whitesmoke;
        border-radius: 2px;
    }
</style>
<div id="header" class="row">
    <div id="logo" class="col_12">And the winner is<span>n't...</span></div> 
    <div id="navigation" class="row"> 
        <ul id="pirra">
            <li><a href="#">Why?</a></li>
            <li><a href="#">Synopsis</a></li>
            <li><a href="#">Stills/Photos</a></li>
            <li><a href="#">Videos/clips</a></li>
            <li><a href="#">Quotes</a></li>
            <li><a href="#">Quiz</a></li>
        </ul>
    </div>
 <script>
    $(document).ready(function() {
$('#navigation ul li').addClass('navigationClass'); //add class navigationClass to the #navigation .

});
 </script>

0

用jQuery改变风格

试试这个

$('#selector_id').css('display','none');

您还可以在单​​个查询中更改多个属性

试试这个

$('#replace-div').css({'padding-top': '5px' , 'margin' : '10px'});
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.