Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php JQuery未执行-但正在加载?_Php_Javascript_Jquery_Html_Dom - Fatal编程技术网

Php JQuery未执行-但正在加载?

Php JQuery未执行-但正在加载?,php,javascript,jquery,html,dom,Php,Javascript,Jquery,Html,Dom,我对一个非常简单的JQuery代码有点问题-我一直在通过以下方式进行故障排除: 将JQuery代码移动到文档末尾 使用google托管的JQuery和本地托管 使用$(document).ready-和不使用 通过取出PHP生成的代码,将其插入HTML文档并在不使用PHP的情况下尝试来简化它 使用firebug插入代码-注意:这实际上非常有效 以下是JQuery代码: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.

我对一个非常简单的JQuery代码有点问题-我一直在通过以下方式进行故障排除:

  • 将JQuery代码移动到文档末尾
  • 使用google托管的JQuery和本地托管
  • 使用$(document).ready-和不使用
  • 通过取出PHP生成的代码,将其插入HTML文档并在不使用PHP的情况下尝试来简化它
  • 使用firebug插入代码-注意:这实际上非常有效
  • 以下是JQuery代码:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
    <script language="text/javascript">
    $(document).ready( function(){
        $('.del').click(function() {
            alert(this.id);
        });
    });
    </script>
    
    
    $(文档).ready(函数(){
    $('.del')。单击(函数(){
    警报(this.id);
    });
    });
    
    以下是PHP代码:

        while($row = mysql_fetch_array($reports)){
            echo '<tr><th>'.$row['title'].'</th>';
            echo '<td><a href="modify.php?site='.$row['id'].'">Modify</a></td>';
            echo '<td> <img class="del" id="'.$row['id'].'" src="../right_place.jpg" width="75" height="75"></td>';
            echo '<td><a href="../report.php?site='.$row['id'].'"><img src="../'.$row['thumb'].'" width="75" height="75"></a></td></tr>';
        }
    
    while($row=mysql\u fetch\u数组($reports)){
    回显“.$row['title']”;
    回声';
    回声';
    回声';
    }
    
    这会生成这种HTML:

                <tr>
                    <th>Site 2</th>
                    <td><a href="modify.php?site=2">Modify</a></td>
                    <td><img class="del" id="2" src="../right_place.jpg" width="75" height="75"></td>
                    <td><a href="../report.php?site=2"><img src="../placeholder.jpg" width="75" height="75"></a></td>
                </tr>
    
                <tr>
                    <th>Site 1</th>
                    <td><a href="modify.php?site=1">Modify</a></td>
                    <td><img class="del" id="1" src="../right_place.jpg" width="75" height="75"></td>
                    <td><a href="../report.php?site=1"><img src="../placeholder.jpg" width="75" height="75"></a></td>
                </tr>
    
    
    站点2
    场地1
    
    我目前已经在谷歌浏览器和IE浏览器上试用过了。最有趣的一点是,如果我将JQuery代码复制并粘贴到firebug中,它会完美地执行,而且没有错误?!但是,当它位于页面中时,它将不会执行。(因此我尝试将代码放在页面底部的一个原因!)


    注意:为了调试/测试的目的,JQuery代码也被简化了-实际上,在对执行MySQL查询的PHP脚本进行AJAX调用之前,它会提示用户进行确认。

    尝试将doc ready函数更改为:

    $(document).ready( function(){
        $('.del').live('click', function() {
            alert(this.id);
        });
    });
    
    我会使用方法:

    $(function() {
    
        $("img").delegate(".del", "click", function() {
            alert(this.id);
        });
    
    });
    

    这里有几件事不对

    1) 。不要使用数字标识。ID必须以字母开头

    2) 。脚本标记不正确,使用语言说明符而不是类型说明符。应改为:

    <script type="text/javascript">
    
    
    

    解决了这个问题,它应该会工作。

    只要删除language=“text/javascript”它就会工作。

    它工作得很好,一定与您的PHP代码有关。我在你的图片中添加了alt属性,这样我们就可以点击了。我刚刚测试了这个功能,它可以正常工作(虽然我把图片改成了spans,这样我就可以点击了)。您的PHP代码是通过AJAX加载的吗?如果是这样的话,您需要使用
    live()
    delegate()
    方法来连接事件。我以前从未见过JSFIDLE-很好的网站,为大家指出它干杯!这是最后的脚本标签,但我很高兴我不是唯一一个忽视它的人!为你们的帮助干杯!顺便说一句,我实际上为你测试了我的解决方案:),是的。。。我的工作。javascript根本没有使用旧的脚本标记执行。为什么不使用数字ID?我在我的项目中使用数字ID-目前没有问题all@evgeniy.labusnkiy它们违反了规范。你不能依靠它们来跨浏览器工作。@John-我完成了15个以上的大项目-从来没有过problems@evgeniy.labusnkiy|这是规范合规性的关键。你可以用“一般”有效的东西掷骰子。。。但你不能测试所有东西。这就是为什么要编写规范并针对这些怪癖进行修改,而不是相反。问题是代码中没有type=“text/javascript”。Op有'language=“text/javascript”“。是的,我接受了John的答案,因为他关于数字ID的回答也是正确的——但我也投票支持你!干杯