【问题标题】:How do I insert a DOM element in an ordered list (in Dojo)?如何在有序列表中插入 DOM 元素(在 Dojo 中)?
【发布时间】:2010-09-25 05:20:23
【问题描述】:

我正在尝试提交 AJAXy 并将生成的部分插入到我的列表中的适当位置。我能想到几个选项,但没有一个是非常好的:

选项 1:返回 JSON,在 Javascript 中进行渲染。这似乎是呈现这个的错误位置,特别是因为列表本身是在我的应用程序服务器中呈现的。不过,它的好处是可以轻松访问要排序的值 (response.full_name)。

选项 2:返回一个 HTML 片段,解析出排序值。在 Javascript 中解析 HTML 可能比渲染它更糟糕。

选项 3:返回一个 HTML 片段,该片段还包含一个被评估的 <script> 部分。这可以将 DOM 节点添加到主列表,然后进行 JS 调用以将其自身插入到正确的位置。这里的缺点是当调用innerHTML 或appendChild 时,IE 不会评估<script> 标签。

【问题讨论】:

    标签: javascript ajax sorting dojo list


    【解决方案1】:

    我个人会做#1。将服务器端生成的 HTML 与客户端生成的 HTML 相结合并没有错,但如果这是一个复杂的过程,最好将其保存在一个地方(在您的情况下是在服务器上)。因此,您可能希望返回(作为 JSON)两个值:排序值和 HTML sn-p。

    之后就很简单了:找到位置,实例化 sn-p(例如,使用dojo.html.set()),然后用dojo.place() 放置它。或者直接就地实例化它。

    【讨论】:

    • 渲染是相当复杂,所以我确实在服务器上生成了 HTML 并将其包含在 JSON 对象中。
    猜你喜欢
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多