Javascript 当我的html正文在php中时,Id选择器在jquery中不起作用

Javascript 当我的html正文在php中时,Id选择器在jquery中不起作用,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我在php标记中包含html主体,我希望onclick()能够工作,但我希望jquery能够处理它。我尝试选择id,然后使用jquery的.on()方法,但似乎不起作用 这是我的php代码 <body> <?php $home= "<div class='heading' > <p><b>blah blah blah</b></p> </div> <div

我在php标记中包含html主体,我希望onclick()能够工作,但我希望jquery能够处理它。我尝试选择id,然后使用jquery的.on()方法,但似乎不起作用

这是我的php代码

<body>
<?php
$home=  
    "<div class='heading'  >
        <p><b>blah blah blah</b></p>
    </div>
    <div class='menu-wrap'>
        <nav class='menu'>
            <ul class='clearfix'>
                <li><a href='./member.php'>$username's Home</a></li>
                <li>
                    <a >States <span class='arrow'>&#9660;</span></a>

                    <ul class='sub-menu'>
                        <li><a onclick='changeAllStatesToFalse();'>ALL APPLIANCES OFF</a></li>
                        <li><a onclick='changeAllStatesToTrue();'>ALL APPLIANCES ON</a></li>
                        <li><a onclick='getStates();'>GET STATES</a></li>
                    </ul>
                </li>
                <li><a href='./security.php?userid=$username'>Security</a></li>
                <li><a >About me</a></li>
                <li><a href='./logout.php'>Logout</a></li>
            </ul>
        </nav>
    </div>
    <!3 Toggle Buttons start>
        <div class='buttonsArea'>
            <div class='display'>
                 <label class='label toggle'>
                      App-1
                     <input type='checkbox' class='toggle_input' id='button1' onclick='updateTable(1);'/>
                     <div class='toggle-control'></div>
                 </label>
            </div>
            <div class='display'>
                 <label class='label toggle'>
                      App-2
                     <input type='checkbox' class='toggle_input' id='button2' onclick='updateTable(2);'/>
                     <div class='toggle-control'></div>
                 </label>
            </div>
            <div class='display'>
                 <label class='label toggle'>
                      App-3
                     <input type='checkbox' class='toggle_input' id='button3' onclick='updateTable(3);' />
                     <div class='toggle-control'></div>
                 </label>
            </div>
        </div>
    <!3 Toggle Buttons end>";


    if($username && $userid){

        echo "$home";
        if($errormsg)
        echo "<script type='text/javascript'>alert('$errormsg');</script>";
    }
    else{
        header('Location:http://'.$raspiIp.'/EHDLOGIN_rpi/login.php');
        echo "<script type='text/javascript'>alert('Please Login');</script>";
    }



    ?>
</body>
但这并没有给我任何警觉。
Plz help

您正在动态创建元素,因此需要在DOM中注册事件,以便在元素可用时立即注册click事件处理程序

$(document).on('click','#button1',function()
{
    alert();
});

您正在将原始php文本转储到JS上下文中。如果
$errormsg
包含任何js字符串元字符(例如
),那么您将引入js语法错误并终止整个脚本块。始终通过json_encode()输出-从不转储原始文本。而您的
header()
调用是毫无意义的-您所做的只是生成“headers ready sent”错误。
应该是HTML注释吗?如果是这样的话,它需要是
。最好拆分该功能并使用两个模板进行登录和主页。然后在php中,您可以只包含不同的文件。很乐意帮忙。
$(document).on('click','#button1',function()
{
    alert();
});