jQuery函数在JavaScript中不起作用,但在JavaScript之外工作得很好

jquery function not working inside a javascript, but works great outside it

本文关键字:JavaScript 工作 但在 很好 函数 不起作用 jQuery      更新时间:2023-09-26

我有一个php页面,其中包括jQuery和一个脚本.js文件。当我将以下函数放入我的 php 文件中时,该函数将按预期执行并工作:

<script>
    $('#scoreboard-overview').load('getusers.php?q=<?php echo $NewString; ?>').fadeIn("slow"); 
</script>

它有什么作用?它使用来自名为getusers的外部php文件的数据重新加载了scoreboard-overview id 的div 在我的 php 文件中.php

这一切都很好用。

现在在脚本.js文件(加载在 php 页面的末尾,就在 </body> 之前),我还想在 updatescore.php 文件通过表单更新数据库时重新加载这个div。我有这个代码:

$.ajax({
    type: "POST",
    data: $("#form").serialize(),
    cache: false,
    url: "updatescore.php",
    success: function() { //reload overview
        $('#scoreboard-overview').load('getusers.php?q=' + document.getElementById('str') + '').fadeIn("slow");
    }
});​

所以在成功之后,它应该执行jQuery函数:

function () { //reload overview
    $('#scoreboard-overview').load('getusers.php?q='+document.getElementById('str')+'').fadeIn("slow");                  
}

我验证了代码。数据库使用 updatescore 进行更新.php但在此之后(因此在成功之后),div 不会刷新。因此,代码的这个成功部分不起作用。我做错了什么?

PS:'+document.getElementById('str')+'应该给我与仅从 id strdiv 中获取echo $NewString;相同的结果(因为 PHP 在 JS 文件中不起作用?

document.getElementById('str')将返回带有"str"id的HTML元素,而不是元素中的文本。我不确定这个元素实际上是什么样子的,但你可能会做一些类似 document.getElementById('str').textContent .