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 відокремлені ,не :.
Квентін

Відповіді:


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

1
@Blazemonger LOL, я навіть не знав, що ти можеш це зробити, але тепер, коли ти це згадуєш, це має "сенс". Дякую за розширення мого кругозору тут.
VoidKing

Здається, краще запам’ятовувати фігурну фігуру, оскільки вона може одночасно адаптуватися до одного або декількох атрибутів із тим самим синтаксисом;)
cladelpino

випадок верблюда також працює, тому ви можете використовувати .css ({backgroundColor: "#fff"}) - PS я ненавиджу подвійні цитати, але їх легше побачити в цьому коментарі
понеділок74,


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

Ви також можете змінити кілька атрибутів в одному запиті

Спробуйте це

$('#replace-div').css({'padding-top': '5px' , 'margin' : '10px'});
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.