将加载的文本添加到其他加载的文本

时间:2015-12-14 17:14:19

标签: javascript jquery html

在Javascript中,要将文本添加到已存在的div中,我会使用

document.getElementById("container").innerHTML = document.getElementById("container").innerHTML + "Text";

因此,div中已存在的文本不会被删除,并且只需使用以下内容就可以重置div中写入的内容:

document.getElementById("container").innerHTML = "Text";

但是,因为我正在使用jquery从带有

的txt文件加载文本
$( "#container" ).load( "text.txt" );

这似乎不可能。

我不是JS或Jquery的大专家,但有没有办法将两者混合在一起仍然可以重置div中的文本或向其中添加文本,同时仍然从外部获取该文本文件?

希望我已经足够清楚地解释我正在尝试做什么

2 个答案:

答案 0 :(得分:0)

尝试使用AJAX获取数据但不填充数据:

$.ajax({
    url: 'text.txt',
    success: function(text){
         document.getElementById("container").innerHTML += text;
    }
});

Ajax功能更全面 - 它是“更难”的功能。 load()的堂兄,所以你也可以添加一个错误捕捉器(以及其他一些东西):

$.ajax({
    url: 'text.txt',
    success: function(text){
         document.getElementById("container").innerHTML += text;
    },
    error: function(e){
         document.getElementById("container").innerHTML += 'Data could not be loaded! (' + e.statusText + ')';
    }
});

您可以在jQuery文档中了解有关AJAX的更多信息:http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

首先:

  1. 您冒着加载文件的风险,该文件可能有效,也可能无效。这意味着您可能会收到文件加载错误。为了坚持使用jQuery,我会利用 AJAX 来加载文件:
  2. JQuery代码:

    $(document).ready(function() {
        $.ajax({
            url : "text.txt",
            dataType: "text",
            success: function (data) {
                data.appendTo("#container")
            },
            error: function(e){
                // Show some error, for example:
                alert("Data failed to load from text.txt file")
            }
        });
    });
    
    1. 我相信 appendTo 将是您通过document.getElementById("container").innerHTML尝试完成的更简单的版本,以替换文字。试一试,然后根据需要修改它。如果您对此有任何疑问,请与我们联系。

    2. 为了清楚说明,JQuery是现有JavaScript语言的扩展。这意味着,您始终可以在感知的JQuery代码中使用JavaScript。您可以通过添加的功能学习如何利用JQuery的优势来支持您的JavaScript代码,其中一个很好的例子就是您在此处看到的文件加载的AJAX实现。要了解详情,请访问: Learn JQuery