我有一个非常简单的JQuery JQuery代码的问题 - 我一直在通过以下方式对其进行故障排除:
这是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>
这是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>';
}
哪种生成这种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>
我目前在Google Chrome和Internet Explorer中尝试过它。最有趣的方面是,如果我将JQuery代码复制并粘贴到firebug中,它会完美执行并且没有错误?!但是当它在页面中时它将不会执行。 (因此我尝试将代码放在页面底部的一个原因!)
注意:JQuery代码也被简化用于调试/测试目的 - 实际上它会在对执行MySQL查询的PHP脚本进行AJAX调用之前提示用户进行确认。
答案 0 :(得分:4)
这里有些不对劲。
1)。不要使用数字ID。 ID必须以字母开头。
2)。您的脚本标记不正确,使用语言说明符而不是类型说明符。它应该是:
<script type="text/javascript">
修复它,它应该可以工作。
答案 1 :(得分:1)
只需删除language =“text / javascript”即可使用
答案 2 :(得分:0)
尝试将您的doc ready功能更改为:
$(document).ready( function(){
$('.del').live('click', function() {
alert(this.id);
});
});
答案 3 :(得分:0)
我会使用 delegate() 方法:
$(function() {
$("img").delegate(".del", "click", function() {
alert(this.id);
});
});