Câu trả lời:
Cách chính xác để làm điều này là sử dụng show
và hide
:
$('#id').hide();
$('#id').show();
Một cách khác là sử dụng phương thức css của jQuery :
$("#id").css("display", "none");
$("#id").css("display", "block");
$(".class").css("display", "none");
$('#id').css('display', 'none');
, nhưng nó không hoạt động. Tuy nhiên, sử dụng $('#id').css('color', 'red');
không hoạt động. Tôi không chắc tại sao. Có ai có ý tưởng nào? Cảm ơn trước.
Có một số cách để thực hiện điều này, mỗi cách có mục đích riêng.
1. ) Để sử dụng nội tuyến trong khi chỉ cần gán một phần tử một danh sách những việc cần làm
$('#ele_id').css('display', 'block').animate(....
$('#ele_id').css('display', 'none').animate(....
2. ) Để sử dụng trong khi thiết lập nhiều thuộc tính CSS
$('#ele_id').css({
display: 'none'
height: 100px,
width: 100px
});
$('#ele_id').css({
display: 'block'
height: 100px,
width: 100px
});
3. ) Để tự động gọi lệnh
$('#ele_id').show();
$('#ele_id').hide();
4. ) Để tự động chuyển đổi giữa khối và không, nếu đó là div
$ ('# ele_id'). chuyển đổi ();
Nếu màn hình của div bị chặn theo mặc định, bạn chỉ có thể sử dụng .show()
và .hide()
, hoặc thậm chí đơn giản hơn, .toggle()
để chuyển đổi giữa khả năng hiển thị.
Để ẩn:
$("#id").css("display", "none");
Cho chương trình:
$("#id").css("display", "");
Cách đơn giản:
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);
Trong trường hợp bạn muốn ẩn và hiển thị một phần tử, tùy thuộc vào việc nó có hiển thị hay không, bạn có thể sử dụng chuyển đổi thay vì .hide()
và.show()
$('elem').toggle();
Trong trường hợp của tôi, tôi đang thực hiện hiển thị / ẩn các phần tử của biểu mẫu tùy theo phần tử đầu vào có trống hay không, do đó, khi ẩn phần tử, phần tử theo sau phần tử ẩn được định vị lại chiếm không gian của nó, cần phải thực hiện một dấu phẩy: bên trái của các yếu tố của một yếu tố như vậy. Ngay cả khi sử dụng một plugin như phụ thuộc, nó là cần thiết để sử dụng float.
Dùng cái này:
$("#id").(":display").val("block");
Hoặc là:
$("#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>
Sử dụng:
$(#id/.class).show()
$(#id/.class).hide()
Đây là cách tốt nhất.
#id
được sử dụng cho id nếu tôi muốn sử dụngclass
thì sao?