ดูเหมือนว่า:visible
ตัวเลือกของ jQuery ไม่ทำงานสำหรับองค์ประกอบแบบอินไลน์ใน Chrome การแก้ปัญหาคือการเพิ่มสไตล์การแสดงผลเช่น"block"
หรือ"inline-block"
เพื่อให้มันทำงาน
นอกจากนี้โปรดทราบว่า jQuery มีคำจำกัดความที่แตกต่างกันเล็กน้อยเกี่ยวกับสิ่งที่มองเห็นได้จากผู้พัฒนาหลายราย
องค์ประกอบต่างๆจะถูกมองเห็นหากใช้พื้นที่ในเอกสาร
องค์ประกอบที่มองเห็นได้มีความกว้างหรือความสูงที่มากกว่าศูนย์
กล่าวอีกนัยหนึ่งองค์ประกอบจะต้องมีความกว้างและความสูงไม่เป็นศูนย์เพื่อใช้พื้นที่และสามารถมองเห็นได้
องค์ประกอบที่มีvisibility: hidden
หรือopacity: 0
ถือว่ามองเห็นได้เนื่องจากยังคงใช้พื้นที่ในเค้าโครง
ในทางตรงกันข้ามแม้ว่ามันvisibility
จะถูกตั้งค่าเป็นhidden
หรือความทึบเป็นศูนย์ก็ยังคง:visible
เป็น jQuery ในขณะที่มันใช้พื้นที่ซึ่งอาจทำให้เกิดความสับสนเมื่อ CSS บอกอย่างชัดเจนว่าการมองเห็นของมันถูกซ่อนอยู่
องค์ประกอบที่ไม่ได้อยู่ในเอกสารจะถูกซ่อน jQuery ไม่มีวิธีที่จะทราบว่าจะสามารถมองเห็นได้เมื่อผนวกเข้ากับเอกสารหรือไม่เนื่องจากขึ้นอยู่กับสไตล์ที่ใช้
องค์ประกอบตัวเลือกทั้งหมดถูกพิจารณาว่าซ่อนอยู่โดยไม่คำนึงถึงสถานะที่เลือกไว้
ระหว่างภาพเคลื่อนไหวที่ซ่อนองค์ประกอบองค์ประกอบนั้นจะถูกมองเห็นได้จนกว่าจะสิ้นสุดของภาพเคลื่อนไหว ในระหว่างที่แอนิเมชันเพื่อแสดงองค์ประกอบอิลิเมนต์นั้นจะมองเห็นได้ตั้งแต่เริ่มต้นของการเคลื่อนไหว
วิธีง่าย ๆ ในการดูคือถ้าคุณสามารถเห็นองค์ประกอบบนหน้าจอแม้ว่าคุณจะไม่สามารถมองเห็นเนื้อหาของมันมันโปร่งใส ฯลฯ ก็สามารถมองเห็นได้เช่นใช้พื้นที่ว่าง
ฉันล้างมาร์กอัปของคุณเล็กน้อยและเพิ่มสไตล์การแสดงผล ( เช่นการตั้งค่าองค์ประกอบที่แสดงเป็น "บล็อก" ฯลฯ ) และสิ่งนี้ใช้งานได้สำหรับฉัน:
ซอ
API อ้างอิงอย่างเป็นทางการสำหรับ :visible
ตั้งแต่ jQuery 3 คำจำกัดความของ:visible
เปลี่ยนไปเล็กน้อย
jQuery 3 ปรับเปลี่ยนความหมายเล็กน้อย:visible
(และดังนั้น
:hidden
)
เริ่มต้นด้วยรุ่นนี้องค์ประกอบจะได้รับการพิจารณา:visible
หากมีเค้าโครงกล่องใด ๆ รวมถึงองค์ประกอบที่มี
ความกว้างเป็นศูนย์และ / หรือความสูง ตัวอย่างเช่นbr
องค์ประกอบและองค์ประกอบแบบอินไลน์ที่ไม่มีเนื้อหาจะถูกเลือกโดย:visible
ตัวเลือก