Як я можу змінити властивість відображення CSS або заблокувати властивість за допомогою jQuery?


429

Як я можу змінити властивість відображення CSS або заблокувати властивість за допомогою jQuery?

Відповіді:


923

Правильний спосіб зробити це полягає у використанні showі hide:

$('#id').hide();
$('#id').show();

Альтернативний спосіб - використовувати метод cQ jQuery :

$("#id").css("display", "none");
$("#id").css("display", "block");

@GenericTypeTea: #idвикористовується для ідентифікаторів, що робити, якщо я хочу використовувати class?
AabinGunz

26
$(".class").css("display", "none");
djdd87

8
Я спробував використовувати $('#id').css('display', 'none');, але це не вийшло. Однак використання $('#id').css('color', 'red');не працює. Я не впевнений, чому. Хтось має ідеї? Заздалегідь спасибі.
Девід

5
Також у цю відповідь варто включити різницю між $ ('# id'). Hid () та $ ("# id"). Css ("показ", "жоден").
ManirajSS

1
Існує різниця між двома, коли колишня функція приховує лише текст і не звільняє простір, займаний елементом, тоді як останні приховують вміст і звільняють простір, зайнятий елементом коцерну
Діла Гурунг

110

Існує кілька способів досягти цього, кожен зі своєю цільовою метою.


1. ) Використовувати вбудований , просто призначаючи елементу список справ

$('#ele_id').css('display', 'block').animate(....
$('#ele_id').css('display', 'none').animate(....

2. ) Використовувати під час встановлення кількох властивостей CSS

$('#ele_id').css({
    display: 'none'
    height: 100px,
    width: 100px
});
$('#ele_id').css({
    display: 'block'
    height: 100px,
    width: 100px
});

3. ) для динамічного виклику команди

$('#ele_id').show();
$('#ele_id').hide();

4. ) Для динамічного перемикання між блоком і жодним, якщо це діл

  • деякі елементи відображаються в вигляді інлайн, вбудований блоку, або таблиць, в залежності від Того г N AME

$ ('# ele_id'). toggle ();


27

Якщо відображення діва за замовчуванням є блоком, ви можете просто використовувати .show()та .hide(), навіть, простіше, .toggle()перемикатися між видимістю.


Правда, він встановить відображення того, що було спочатку, що може бути блоком або чимось іншим.
danielgwood


6

Інший спосіб зробити це за допомогою методу jQuery CSS:

$("#id").css({display: "none"});
$("#id").css({display: "block"});


2
(function($){
    $.fn.displayChange = function(fn){
        $this = $(this);
        var state = {};
        state.old = $this.css('display');
        var intervalID = setInterval(function(){
            if( $this.css('display') != state.old ){
                state.change = $this.css('display');
                fn(state);
                state.old = $this.css('display');
            }
        }, 100);        
    }

    $(function(){
        var tag = $('#content');
        tag.displayChange(function(obj){
            console.log(obj);
        });  
    })   
})(jQuery);

Пояснення було б в порядку.
Пітер Мортенсен

2

Якщо ви хочете приховати та показати елемент, залежно від того, він уже видно чи ні, ви можете використовувати toggle замість .hide()та.show()

$('elem').toggle();

1

.hide () не працює для Chrome.

Це працює для приховування:

var pctDOM = jQuery("#vr-preview-progress-content")[0];
pctDOM.hidden = true;

0

У моєму випадку я робив показ / приховування елементів форми відповідно до того, чи вхідний елемент був порожнім чи ні, так що при приховуванні елементів елемент, що слідує за прихованими, переставлявся, займаючи його простір, потрібно було зробити float: left елемента такого елемента. Навіть використовуючи плагін залежно від того, що потрібно було використовувати float.


0

Використовуй це:

$("#id").(":display").val("block");

Або:

$("#id").(":display").val("none");

У мене є проблема, це не працює для мене :(.<style> #choosepath { display: none; } </style> <script> $(document).ready(function () { $('#btn_journey').click(function () { alert("button click"); $('#choosepath').css({"display":"normal"}); }); }); </script> </head> <body> <a href="#" class="btn btn-primary btn-lg" id="btn_journey">Start your journey</a> <div class="col-lg-3 col-md-6 mb-4" id="choosepath"> </div> </body></html>
jaibalaji

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.