HTML要素のスタイルを変更するjQuery


109

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で区切られ:ます。
クエンティン

回答:


239

これを使って:

$('#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'});-私は常にこれら2つを混ぜます。
Blazemonger 2013

1
@Blazemonger LOL、私はあなたがそれを行うことができるかさえ知りませんでしたが、あなたがそれを言ったので、それは「する」ことは理にかなっています。ここで私の視野を広げてくれてありがとう。
VoidKing 2013

中括弧のバージョンは、同じ構文で一度に1つ以上の属性に適応できるため、覚えやすいようです;)
cladelpino

キャメルケースも機能するため、.css({backgroundColor: "#fff"})を使用できます。PSは二重引用符が嫌いですが、このコメントで簡単に確認できます
danday74


14
$('#navigation ul li').css({'display' : 'inline-block'});

そこにタイプミスがあるようです...構文の間違い:))


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');

1つのクエリで複数の属性を変更することもできます

これを試して

$('#replace-div').css({'padding-top': '5px' , 'margin' : '10px'});
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.