Wie kann ich mit jQuery keine CSS-Anzeige ändern oder Eigenschaften blockieren?
Wie kann ich mit jQuery keine CSS-Anzeige ändern oder Eigenschaften blockieren?
Antworten:
Der richtige Weg, dies zu tun, ist zu verwenden show
und hide
:
$('#id').hide();
$('#id').show();
Eine alternative Möglichkeit ist die Verwendung der jQuery- CSS- Methode:
$("#id").css("display", "none");
$("#id").css("display", "block");
$(".class").css("display", "none");
$('#id').css('display', 'none');
, aber es hat nicht funktioniert. Die Verwendung $('#id').css('color', 'red');
funktioniert jedoch. Ich bin mir jedoch nicht sicher warum. Hat jemand irgendwelche Ideen? Danke im Voraus.
Es gibt verschiedene Möglichkeiten, dies zu erreichen, jede mit ihrem eigenen beabsichtigten Zweck.
1. ) Inline verwenden, während einem Element einfach eine Liste der zu erledigenden Aufgaben zugewiesen wird
$('#ele_id').css('display', 'block').animate(....
$('#ele_id').css('display', 'none').animate(....
2. ) Zum Festlegen mehrerer CSS-Eigenschaften
$('#ele_id').css({
display: 'none'
height: 100px,
width: 100px
});
$('#ele_id').css({
display: 'block'
height: 100px,
width: 100px
});
3. ) Auf Befehl dynamisch aufrufen
$('#ele_id').show();
$('#ele_id').hide();
4. ) Dynamisch zwischen Block und keinem umschalten, wenn es sich um ein Div handelt
$ ('# ele_id'). toggle ();
Wenn die Anzeige des div standardmäßig blockiert ist, können Sie einfach .show()
und .hide()
oder noch einfacher .toggle()
zwischen den Sichtbarkeit wechseln.
Zum Verstecken:
$("#id").css("display", "none");
Zur Show:
$("#id").css("display", "");
Einfacher Weg:
function displayChange(){
$(content_id).click(function(){
$(elem_id).toggle();}
)}
(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);
Wenn Sie ein Element ein- und ausblenden möchten, je nachdem, ob es bereits sichtbar ist oder nicht, können Sie anstelle von .hide()
und die Option umschalten.show()
$('elem').toggle();
In meinem Fall habe ich Elemente eines Formulars ein- / ausgeblendet, je nachdem, ob ein Eingabeelement leer war oder nicht, sodass beim Ausblenden der Elemente das Element, das den ausgeblendeten Elementen folgte, neu positioniert wurde und seinen Platz einnahm, musste ein float ausgeführt werden: left des Elements eines solchen Elements. Selbst wenn ein Plugin als abhängig verwendet wurde, musste float verwendet werden.
Benutze das:
$("#id").(":display").val("block");
Oder:
$("#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>
Verwenden:
$(#id/.class).show()
$(#id/.class).hide()
Dieser ist der beste Weg.
#id
für IDs verwendet. Was ist, wenn ich verwenden möchteclass
?