【问题标题】:How to update content and id of div by jquery ajax如何通过jquery ajax更新div的内容和id
【发布时间】:2026-02-09 07:55:01
【问题描述】:

我正在尝试发布 fb 风格的帖子 如何使用来自服务器的内容设置 div id 创建div和更新内容就ok了

<div class="container"> 
    <div class="media" id="?????"> 
           // updated content here
    </div>

    // following DIVs exciting
    <div class="media" id="uuid"></div>
    <div class="media" id="uuid"></div>
    <div class="media" id="uuid"></div>
</div>

<script type="text/javascript">
$(document).ready(function () {
    $("#submit-305008493").bind("click", function (event) {
        $.ajax({
            beforeSend: function (XMLHttpRequest) {
                $("#sending").fadeIn();
                $("#desMediaContainer").prepend("<div class=\"media translationMedia\" id=\"dsf\"></div>");
            },
            data: $("#submit-305008493").closest("form").serialize(),
            dataType: "html",
            success: function (data, textStatus) {
                $("#sending").fadeOut();
                $("#desMediaContainer .translationMedia:first-child").html(data);
            },
            type: "post",
            url: "\/trans\/destinations\/add\/52104adf-4c88-4825-aa3f-0efcc282aae9"
        });
        return false;
    })
</script>

【问题讨论】:

  • 一个元素的 ID 必须是唯一的,你不能有超过 1 个 id 为 uuid 的元素
  • 您的代码引用了#desMediaContainer,但这不会出现在您的 HTML 中。这就是您要解决的问题吗?
  • 是的,所有 id 都是唯一的。我正在尝试将新创建的内容 uuid 用于新 div。
  • desMediaContainer = 容器对不起我的英语。

标签: php jquery ajax cakephp-2.0


【解决方案1】:

虽然您没有提供足够的信息来实际指明应该从何处提取数据,但您确实需要从某个地方提取数据。您可以在加载时指定URL,也可以定义数据参数或回调函数。

$("#getCameraSerialNumbers").click(function () {
    $("#step1Content").load('YourUrl');
});

【讨论】:

    【解决方案2】:

    您编写的 html 与您编写的 javascript 不对应(不同的 id)。

    但是随着你的 javascript,你为什么不把你的 div 的创建从 beforeSend 函数直接移到成功函数中呢?

    success: function (data, textStatus) {
        $("#desMediaContainer").prepend("<div class="media translationMedia" id="dsf"></div>");
        $("#desMediaContainer #dsf").html(data);
    }
    

    【讨论】:

    • 如何从新数据中获取id。
    • 您需要明确返回数据的格式。当您调用此 url:“/trans/destinations/add/52104adf-4c88-4825-aa3f-0efcc282aae9”时,返回的数据格式究竟是什么?该数据是否包括ID?您能否发布一个返回数据的示例?
    【解决方案3】:

    无论返回什么数据,它都会采用 html 格式,例如:

    在 php 中: echo "div class=\"someclass\">content/div"; 在jQuery中: 使用: $("#retdata").html(data);

    【讨论】:

      【解决方案4】:

      已解决。谢谢大家。我的错。这很容易。 它的解决方案只是将洞内容添加到容器中并准备删除编辑。

      $('#container).append(data);
      

      【讨论】: