-1

编辑
所以每个人都非常清楚,这个表是在我查询我的数据库然后进行查询之后创建的,运行一个 while 循环并膨胀我的表。AKA 以动态、编程方式动态创建它,但是您想对其进行标记。该表在 html 中不存在,并且在查询之前的任何地方都不存在。所以我没有一开始就解释这一点是我的错。我确实在评论中提到了它,但我应该更清楚。


我有一个带有类的图像,当我单击它时,我希望它提醒我 Job# 下的值,但什么也没发生。我创建了一个小提琴来演示,并且小提琴完美地工作。我不明白发生了什么事。

这是小提琴jsFiddle

这是实际的代码

php生成表

echo "<table class='projects_contentTable'>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "" . "</th>";
echo "<th class='content_th'>" . "Job #" . "</th>";
echo "<tr>";
echo "<td class='content_td'>" . "<img src='images/edit.png' class='edit_project_record'/>" . "</td>";
echo "<td class='content_td'>" . "<img src='images/view.png' class='view_project_record'/>" . "</td>";    
echo "<td class='content_td'>" . "<a href='#'>" . "16" . "</a>" . "</td>";
echo "</tr>";               
echo "</table>";

jQuery

$('.view_project_record').click(function() {
    var project_id = $('.projects_contentTable td:nth-child(3) a').text();
    alert(project_id);
});

现在我意识到在小提琴中我使用段落标签来模拟图像。所以我想也许这就是原因,尽管它可能很愚蠢。所以我试着把我的代码改成这个,只是为了确定。

echo "<td class='content_td'>" . "<p class='edit_project_record'>" . "<img src='images/edit.png'/>" . "</p>" . "</td>";
echo "<td class='content_td'>" . "<p class='view_project_record'>" . "<img src='images/view.png'/>" . "</p>" . "</td>";

当我单击图像时,它仍然不会触发。我知道单击功能适用于图片,因为我还有另一个在从功能中单击时会触发事件的jQuery功能。为什么这个不起作用?关于我不知道的表格中的图像是否有规则?

4

2 回答 2

3

将您的事件处理程序包装在文档就绪函数中:

$(document).ready(function(){
    $('.view_project_record').click(function() {
        var project_id = $('.projects_contentTable td:nth-child(3) a').text();
        alert(project_id);
    });
});

它在小提琴中起作用,因为您已将小提琴设置为运行您的代码onload,但您的实际代码似乎缺少文档就绪包装器,因此当它尝试附加点击事件时该元素很可能不存在。

于 2013-08-02T16:01:14.003 回答
1

将内容包装到 in$(window).load$(document).ready

$(window).load(function () {
    $('.view_project_record').click(function () {
        var project_id = $('.projects_contentTable td:nth-child(3) a').text();
        alert(project_id);
    });
});

或者

$(document).ready(function(){
    $('.view_project_record').click(function() {
        var project_id = $('.projects_contentTable td:nth-child(3) a').text();
        alert(project_id);
    });
});
于 2013-08-02T16:03:28.480 回答