Как изменить CSS не отображать или заблокировать свойство с помощью Jquery? - PullRequest
382 голосов
/ 27 августа 2010

Как изменить css display none или block свойство, используя Jquery?

Ответы [ 11 ]

815 голосов
/ 27 августа 2010

Правильный способ сделать это - использовать show и hide:

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

Альтернативным способом является использование метода jQuery css :

$("#id").css("display", "none");
$("#id").css("display", "block");
101 голосов
/ 02 марта 2012

Есть несколько способов сделать это, каждый со своей целью.


1 .) Чтобы использовать inline при простом назначении элементасписок вещей, которые нужно сделать

$('#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 .) Для динамического переключения между блоком и нет, если это div

  • некоторые элементы отображаются как inline, inline-block или table, в зависимости от Ta g N ame

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

27 голосов
/ 27 августа 2010

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

6 голосов
/ 06 апреля 2016

для скрытия:

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

для шоу:

$("#id").css("display", "");
5 голосов
/ 10 июня 2014

Простой способ:

function displayChange(){
$(content_id).click(function(){
  $(elem_id).toggle();}

)}
4 голосов
/ 29 февраля 2012

Другой способ сделать это, используя jQuery CSS метод:

$("#id").css({display: "none"});
$("#id").css({display: "block"});
1 голос
/ 19 декабря 2017

Если вы хотите скрыть и показать элемент в зависимости от того, виден ли он уже или нет, вы можете использовать вместо него переключение: .hide () и .show ()

$ ('elem').toggle ();

1 голос
/ 08 августа 2013
(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);
0 голосов
/ 22 августа 2018

В моем случае я делал показывать / скрывать элементы формы в зависимости от того, был ли элемент ввода пустым или нет, поэтому при скрытии элементов, следующих за скрытыми, элемент был перемещен, занимая его пространство, необходимо сделать float: слева от элемента такого элемента. Даже используя плагин в зависимости от того, нужно было использовать float.

0 голосов
/ 23 июня 2017

.hide () не работает в Chrome для меня Это работает для скрытия:

var pctDOM = jQuery("#vr-preview-progress-content")[0];
pctDOM.hidden = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...