jQuery HTML öğesinin stilini değiştiriyor


110

HTML üzerine bir listem var

<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 değişikliğinde yatay olarak gösterilecek şekilde iyi değişir

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

ama şimdi jQuery ile yapmak istiyorum, kullanıyorum:

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

ama çalışmıyor. Öğemi jQuery ile biçimlendirmekle ne yanlışım?

Teşekkürler


Soruna bir yazım hatası neden oldu. JavaScript işlev çağrılarındaki bağımsız değişkenler ,not ile ayrılır :.
— Quentin

Yanıtlar:


240

Bunu kullan:

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

Ayrıca, başkalarının da belirttiği gibi, aynı anda birden fazla css değişikliği yapmak istiyorsanız, o zaman küme parantezlerini eklersiniz (nesne gösterimi için) ve şuna benzer bir şeye benzeyecektir (değiştirmek isterseniz, -renk 've' konum 'ile' ekran '):

$('#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
veya: $('#navigation ul li').css({'display': 'inline-block'});- Bu ikisini sürekli karıştırıyorum.
— Blazemonger

1
@Blazemonger LOL, bunu yapabileceğini bile bilmiyordum, ama şimdi bahsettiğinize göre, bu 'mantıklı'. Burada ufkumu genişlettiğin için teşekkürler.
— VoidKing

Aynı sözdizimi ile aynı anda bir veya daha fazla özniteliğe uyum sağlayabildiğinden, kıvrımlı parantezli sürümü ezberlemek daha iyi görünüyor;)
— cladelpino

camel case, .css ({backgroundColor: "#fff"}) kullanabilmeniz için de işe yarıyor - PS, çift tırnaktan nefret ediyorum, ancak bu yorumda görülmesi daha kolay
— danday74

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

iki nokta üst üste değil, virgül


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

Orada bir yazım hatası görünüyor ... sözdizimi hatası :))


5

bunun gibi birden çok stil değeri de belirtebilirsiniz

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

3

Bu kodu da kullanabileceğinizi düşünüyorum: ve sınıf css'ınızı daha iyi yönetebilirsiniz

<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 ile stil değiştirmek

Bunu dene

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

Tek bir sorguda birden çok özelliği de değiştirebilirsiniz

Bunu dene

$('#replace-div').css({'padding-top': '5px' , 'margin' : '10px'});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.