javascript - jquery 函数在 javascript 内部不起作用,但在 JavaScript 外部却工作得很好

标签 javascript jquery ajax jquery-load

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

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

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

这一切都很好。

现在在 script.js 文件中(在 php 页面的末尾加载 </body> 之前),我还想在 updatecore.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");                  
}

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

ps:'+document.getElementById('str')+'应该给我与 echo $NewString; 相同的结果仅取自 ID 为 str 的 div (因为 php 不能在 js 文件中工作?)

最佳答案

document.getElementById('str') 将返回具有 'str' id 的 HTML 元素,而不是元素内的文本。我不确定这个元素实际上是什么样子,但您可能会执行类似 document.getElementById('str').textContent 的操作。

关于javascript - jquery 函数在 javascript 内部不起作用,但在 JavaScript 外部却工作得很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003055/

相关文章:

javascript - 在无响应页面上的滚动事件上更新固定元素的位置

javascript - jqgrid 在编辑框中不正确选择下拉选项值

c# - AJAX 请求错误

javascript - Html5 输入属性的默认值,如 min 、 max 、 size 等

javascript - 如何在 JavaScript/jQuery 上合并音频和视频 blob?

javascript - 我在Google Plus和Youtube Data API之间遇到冲突问题吗?

javascript - JQuery Ajax提交功能添加验证

javascript - DatePicker Angular

javascript - 使用javascript从一个函数获取值到另一个函数

javascript - 在 View 中包含带有 ERB 的 Coffeescript 文件