在 PHP 条目被动态调用到 DOM 之后添加 jquery 一个 href 类选择器

Posted

技术标签:

【中文标题】在 PHP 条目被动态调用到 DOM 之后添加 jquery 一个 href 类选择器【英文标题】:adding jquery a href class selector after PHP entry has been called to DOM dynamically 【发布时间】:2013-03-15 17:28:59 【问题描述】:

我一直在想办法解决这个问题。我认为 .live() 会有所帮助,但它没有在 jquery 1.9.1 中使用

我有这个功能 - 其要点是:

while($row = $result->fetch_assoc()) 
    $currentID = $row['UserID'];
    $query2="SELECT FirstName, LastName, UserID FROM Users WHERE UserID = $currentID";
    $result2 = $mysqli->query($query2);
    $row1 = $result2->fetch_assoc();
    echo '<div class="commentEntry">';
    echo "<h5><a href='user.php?User=".$row1['UserID']."'>".$row1['FirstName']." ".$row1['LastName']."</a></h5>";
    echo "<p>".$row['Content']."</p>";
    echo "<p class='agree'><a href='#' class='agreeWith' id=".$row['commentID'].">Agree</a></p>";
    echo "</div>";

此功能有效,不是问题。 所以基本上使用 jquery 我想获取所有动态添加的 a.agreeWith 实例。

为了测试,我正在使用这个:

$(document).ready(function() 
     $('a.agreeWith').click(function(event) 
        event.preventDefault();
        alert("test");
        var agree = $(this).id;
        var data = 'Agree='  + agree.val();
    );
);

现在我发现没有发生的是警报永远不会出现。 a href 链接仍会触发,因此显然没有调用。

我只是通过在页面中写入任何内容来测试它,它可以工作,出现警报。

很明显,动态加载的信息存在问题并尝试将 jquery 应用于它。

问题是。我该如何解决这个问题?

感谢您的帮助。

【问题讨论】:

见api.jquery.com/on 我试过了:$('a.agreeWith').on('click', function(event) 但是遇到了同样的问题 您能否在 javascript 控制台中执行“$('a.agreeWith').click( ... )”(或变体)并使其按预期工作? 我可以,它在控制台中按预期工作: $('a.agreeWith').on("click", function(event) event.preventDefault(); alert( "测试"); ); 在你的 "$(document).ready(function(event) " 中,添加 "$('a.agreeWith')" 的 console.log 并查看重新加载输出到控制台的内容. 【参考方案1】:

这至少应该对您有用,以使您的警报正常工作。不知道你想做什么之后......

$(document).ready(function() 
     $(document.body).on('click', 'a.agreeWith', function(event) 
        event.preventDefault();
        alert("test");
        var agree = $(this).id;
        var data = 'Agree='  + agree.val();
    );
);

【讨论】:

这工作:) 谢谢。我没想到要调用 document.body 是的,这是一种非常广泛的指定方式。您可以使用文档正文来测试它是否有效,然后在需要时从那里向下处理 DOM 树以提高效率。

以上是关于在 PHP 条目被动态调用到 DOM 之后添加 jquery 一个 href 类选择器的主要内容,如果未能解决你的问题,请参考以下文章

将 jQuery 添加到动态 JS-DOM 对象

PHP 模式添加、编辑、查看和删除数据库条目

取消绑定 ng-click 以获取角度中的动态 dom 元素

JQuery动态创建删除DOM元素

动态添加条目到 sysctl

Angular 2 将组件动态附加到 DOM 或模板