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.