在 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 类选择器的主要内容,如果未能解决你的问题,请参考以下文章