jQuery thay đổi kiểu của phần tử HTML


110

Tôi có một danh sách trên 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>  

nó thay đổi tốt để hiển thị theo chiều ngang trên thay đổi CSS

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

nhưng bây giờ tôi muốn làm điều đó với jQuery, tôi sử dụng:

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

nhưng không hoạt động, Tôi mắc lỗi gì khi định kiểu phần tử của mình bằng jQuery?

cảm ơn


Vấn đề là do lỗi đánh máy. Các đối số trong lệnh gọi hàm JavaScript được phân tách bằng ,not :.
Quentin

Câu trả lời:


240

Dùng cái này:

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

Ngoài ra, như những người khác đã nói, nếu bạn muốn thực hiện nhiều thay đổi css cùng một lúc, đó là lúc bạn thêm dấu ngoặc nhọn (đối với ký hiệu đối tượng) và nó sẽ trông giống như thế này (nếu bạn muốn thay đổi, hãy nói, 'background -color 'và' position 'ngoài' display '):

$('#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
hoặc: $('#navigation ul li').css({'display': 'inline-block'});- Tôi liên tục trộn hai thứ đó với nhau.
Blazemonger

1
@Blazemonger LOL, tôi thậm chí không biết bạn có thể làm điều đó, nhưng bây giờ bạn đề cập đến nó, điều đó 'làm' có ý nghĩa. Cảm ơn vì đã mở rộng tầm nhìn của tôi ở đây.
VoidKing

Có vẻ tốt hơn để ghi nhớ các phiên bản xoăn chuẩn bị tinh thần sau đó, vì nó có thể thích ứng với một hoặc nhiều thuộc tính tại một thời điểm với cú pháp tương tự;)
cladelpino

vỏ lạc đà cũng hoạt động nên bạn có thể sử dụng .css ({backgroundColor: "#fff"}) - Tôi ghét dấu ngoặc kép nhưng chúng dễ thấy hơn trong nhận xét này
danday74

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

không phải dấu hai chấm, dấu phẩy


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

Có vẻ như một lỗi chính tả ở đó ... lỗi cú pháp :))


5

bạn cũng có thể chỉ định nhiều giá trị kiểu như thế này

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

3

Tôi nghĩ bạn cũng có thể sử dụng mã này: và bạn có thể quản lý css lớp của mình tốt hơn

<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

thay đổi phong cách với jquery

Thử cái này

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

Bạn cũng có thể thay đổi nhiều thuộc tính trong một truy vấn

Thử cái này

$('#replace-div').css({'padding-top': '5px' , 'margin' : '10px'});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.