ฉันต้องการตรวจสอบและจัดเรียงองค์ประกอบที่ซ่อนอยู่ เป็นไปได้หรือไม่ที่จะหาองค์ประกอบทั้งหมดที่มีคุณลักษณะdisplay
และความคุ้มค่าnone
?
ฉันต้องการตรวจสอบและจัดเรียงองค์ประกอบที่ซ่อนอยู่ เป็นไปได้หรือไม่ที่จะหาองค์ประกอบทั้งหมดที่มีคุณลักษณะdisplay
และความคุ้มค่าnone
?
คำตอบ:
คุณสามารถใช้: มองเห็นได้สำหรับองค์ประกอบที่มองเห็นและ: ซ่อนอยู่เพื่อหาองค์ประกอบที่ซ่อนอยู่ องค์ประกอบนี้ได้ซ่อนแอตทริบิวต์การตั้งค่าให้display
none
hiddenElements = $(':hidden');
visibleElements = $(':visible');
เพื่อตรวจสอบองค์ประกอบเฉพาะ
if($('#yourID:visible').length == 0)
{
}
องค์ประกอบจะถูกมองเห็นหากใช้พื้นที่ในเอกสาร องค์ประกอบที่มองเห็นได้มีความกว้างหรือความสูงที่มากกว่าศูนย์ อ้างอิง
นอกจากนี้คุณยังสามารถใช้is ()ด้วย:visible
if(!$('#yourID').is(':visible'))
{
}
หากคุณต้องการตรวจสอบค่าการแสดงผลคุณสามารถใช้css ()
if($('#yourID').css('display') == 'none')
{
}
หากคุณใช้แสดงค่าต่อไปนี้display
สามารถมีได้
แสดงผล: ไม่มี
จอแสดงผล: อินไลน์
จอแสดงผล: บล็อก
display: list-item
จอแสดงผล: บล็อกแบบอินไลน์
ตรวจสอบรายชื่อที่สมบูรณ์ของการที่เป็นไปได้display
ค่าที่นี่
เพื่อตรวจสอบคุณสมบัติการแสดงผลด้วย JavaScript
var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";
display: block;
เขียนแบบอินไลน์มาจาก jquery ฉันไม่สามารถตรวจสอบได้ด้วยวิธีการของคุณ ช่วยฉันด้วย.
$("element").filter(function() { return $(this).css("display") == "none" });
style="display: none;"
เช่นนี้จะทำงานแม้ว่าองค์ประกอบหลักมี คำตอบที่ใช้:visible
และ:hidden
จะล้มเหลวหากคุณต้องการให้องค์ประกอบเฉพาะสามารถมองเห็นได้และองค์ประกอบหลักถูกซ่อนเนื่องจากตัวเลือกเหล่านั้นกลับมาแสดงผลโดยรวมในหน้า (ซึ่งไม่ใช่คำถามที่ถาม)
visibility: 'hidden';
css ดังนั้นการตรวจสอบก็สิ้นสุดลงเช่นกัน:$(this).css('visibility') != 'hidden'
ใช่คุณสามารถใช้ cssfunction ได้ ด้านล่างจะค้นหา div ทั้งหมด แต่คุณสามารถแก้ไขได้ตามองค์ประกอบที่คุณต้องการ
$('div').each(function(){
if ( $(this).css('display') == 'none')
{
//do something
}
});
ใช้เงื่อนไขนี้:
if (jQuery(".profile-page-cont").css('display') == 'block'){
// Condition
}
มีสองวิธีใน jQuery เพื่อตรวจสอบการมองเห็น:
$("#selector").is(":visible")
และ
$("#selector").is(":hidden")
คุณยังสามารถรันคำสั่งตามการมองเห็นได้ในตัวเลือก
$("#selector:visible").hide()
หรือ
$("#selector:hidden").show()
:visible
ยังขึ้นอยู่กับการมองเห็นของบรรพบุรุษ หากบรรพบุรุษเป็นdisplay: none
ลูกหลานทั้งหมดจะไม่สามารถมองเห็นได้โดยไม่คำนึงถึงdisplay
สถานะ
$('#selector').is(':visible');
:visible
ยังขึ้นอยู่กับการมองเห็นของบรรพบุรุษ หากบรรพบุรุษเป็นdisplay: none
ลูกหลานทั้งหมดจะไม่สามารถมองเห็นได้โดยไม่คำนึงถึงdisplay
สถานะ