แสดง/ซ่อน div ใน php รวมถึงการใช้ Jquery

ฉันมีเพจชื่อ div_1.php โดยมี div อยู่ข้างใน

 <div id="div_1"></div>

ฉันมีเพจชื่อ index.php พร้อมด้วย:

 <div id="div_menu"></div>

<?php include("div_1.php"); ?>

การเปิดเผย "div_menu" เป็นจริง การมองเห็นเริ่มต้นของ "div_1" ถูกตั้งค่าเป็นเท็จใน style.css

#div_1{
    display: none;
}

ฟังก์ชั่น jQuery แสดง/ซ่อน "div_1":

$('.form_name').click(function() {
    // Hide the menu
    $('#div_menu').hide();

    if(this.id == "form_choice1"){
        // Show the div
        $('#div_1').show();
    }
});

ส่วนแรก (ซ่อน "div_menu") ใช้งานได้ดี แต่ส่วนที่สองใช้งานไม่ได้!!! ถ้าฉันคัดลอกและวางเนื้อหาของ div_1.php ลงใน index.php มันก็ใช้งานได้ดี !

เหตุใด jQuery ไม่สามารถเข้าถึง div นั้นได้ เกิดอะไรขึ้นเมื่อ div อยู่ในไฟล์ php? ฉันคิดว่า php รวมเฉพาะการคัดลอกเนื้อหาของหน้าที่เรียกภายในหน้าการโทร


person ahebert    schedule 19.04.2012    source แหล่งที่มา
comment
ฉันคิดว่าคุณหมายถึง </div> ไม่ใช่ <!div>   -  person Aaron W.    schedule 19.04.2012
comment
คุณแน่ใจหรือว่า div_1.php ได้รับการรวมอย่างถูกต้องจริง ๆ ? คุณเห็นมันใน Firebug หรือเมื่อคุณทำ View Source หรือไม่?   -  person Steve    schedule 19.04.2012
comment
คุณสามารถโพสต์โค้ดเพิ่มเติมหรืออาจเป็นตัวอย่างโค้ดแบบเต็มได้หรือไม่ วิธีที่คุณมีอยู่ที่นี่น่าจะใช้งานได้โดยไม่มีปัญหา   -  person matthewpavkov    schedule 19.04.2012
comment
โยนและแจ้งเตือนคำสั่งภายในคำสั่ง if ของคุณ ตรวจสอบให้แน่ใจว่าเนื้อหากำลังเริ่มทำงาน แจ้งเตือน(หากเกิดเพลิงไหม้)..   -  person Matt Moore    schedule 19.04.2012
comment
PHP ไม่เกี่ยวอะไรกับ jquery เว้นแต่คุณจะใช้การโทรแบบ ajax อาจเป็น PHP ที่สร้างเพจบนเซิร์ฟเวอร์ แต่เป็นเพียง html/css/js ที่เข้าถึงผู้ใช้ ไม่ใช่ php   -  person Marc B    schedule 19.04.2012
comment
นอกจากนี้ คุณรวม div_1.php และฟังก์ชัน javascript ที่คุณโพสต์ไว้ตามลำดับใด จะต้องเป็น div_1.php จากนั้นเป็น JS หากคุณมี JS ก่อนหน้าการรวม มันจะไม่ทำงาน   -  person Steve    schedule 19.04.2012
comment
@สตีฟ จริงเหรอ? ทำไม ฉันสมมติว่าเขาใช้ตัวจัดการ $(document).ready() และ องค์ประกอบที่รวมมาจากหน้า php อยู่ในหน้าก่อนที่จะถูกส่งไปยังเบราว์เซอร์ (และไม่ได้โหลดแบบไดนามิก) เห็นได้ชัดว่าสมมติฐานทั้งสองนี้อาจผิดได้   -  person David says reinstate Monica    schedule 20.04.2012
comment
@DavidThomas ฉันไม่คิดว่าเขาจะใช้ $(document).ready()... ถ้าฉันเห็น ‹!div› ฉันไม่คิดอะไรอีกต่อไป :) นอกจากนี้ เกี่ยวกับสมมติฐานที่สองของคุณ: แม้ว่าจะถูกส่งไปยังเบราว์เซอร์ในเวลาเดียวกันและลำดับไม่ถูกต้อง $('div_1') จะไม่พบองค์ประกอบ (เว้นแต่เขาจะใช้ $(document).ready ()).   -  person Steve    schedule 20.04.2012


คำตอบ (2)


ดูเหมือนว่าคุณจะปิดแท็กของคุณไม่ถูกต้อง นี่อาจทำให้เบราว์เซอร์สับสน รูปแบบเป็น </div> ไม่ใช่ <!div> นอกเหนือจากนั้น คุณได้เปรียบเทียบ HTML ที่สร้างโดยทั้งคู่แล้วหรือยัง? ดูเหมือนว่าพวกเขาควรจะเหมือนกัน ตรวจสอบเบราว์เซอร์ของคุณเพื่อค้นหาความแตกต่าง

person vansimke    schedule 19.04.2012
comment
ฉันก็คิดแบบนั้นเหมือนกัน.. แต่มันใช้ได้ผลสำหรับเขาเมื่อเขาแทรกมันลงในหน้าโดยตรง ฉันสงสัยว่าอะไรเป็นสาเหตุของสิ่งนั้น - person Matt Moore; 19.04.2012
comment
‹!div› เป็นเพียงข้อผิดพลาดในการพิมพ์/คัดลอก ฉันพบว่า PHP ไม่ทำงานบนเว็บเซิร์ฟเวอร์ของฉัน (ท่าเทียบเรือ 8) - person ahebert; 20.04.2012

ฉันพบว่า PHP ไม่ทำงานบนเว็บเซิร์ฟเวอร์ของฉัน (ท่าเทียบเรือ 8)...

ฉันจะลองรวมไฟล์ js และใช้ฟังก์ชัน document.write แต่มันน่าเกลียดมาก!

person ahebert    schedule 20.04.2012