jQuery加载txt文件.html()

jQuery load txt file .html()

本文关键字:html 文件 加载 txt jQuery      更新时间:2023-09-26

使用$('myDiv').load('mytxtFile.txt')时,如何解码.txt文件的html内容?

我知道:$('<div/>').html(value).text();

换句话说,我如何将这两者结合起来?

重要提示:mytextFile.txt是一些代码的容器,这些代码是用ckeditor编译的,我想把这个txt文件的内容以html形式显示在我的html表单中。

我的txt文件中的代码是:

&lt;p&gt;hellohome&lt;/p&gt;

我想把它显示为:ss你好,家,ss在我的html页面中

坦克你的攻击

如果我正确理解问题,你可以这样做:

$('myDiv').load('mytxtFile.txt', function(text) {
  $(this).text(text);
});

我想你在追求这样的东西:

 $('<div/>').load('mytextFile.txt', function(textStr) {
    var htmlStr = $(this).html(textStr).text(); 
    $(this).html(htmlStr);
 }).appendTo('form');

这将有效地对html实体进行编码,返回一个格式正确的htmlStr,您可以使用它来设置元素的html()

这是一个演示小提琴

你不能。load()设计用于将HTML片段直接拉入文档。如果要对数据进行预处理,请使用$.ajax加载数据,并编写自己的逻辑以使用success更新元素内容。

success: function (data) {
    $('myDiv').text(data);  // Note: Your selector but not one that is valid for an HTML document
}

您可以用$.ajax加载文本文件,然后用"$('#YOURDIV').text(data)"添加文本

示例:小提琴手:http://jsfiddle.net/ZXMha/

HTML:

JavaScript:

$.ajax({
    url: '/echo/html/',
    type: "POST",
    data: {
        html: "<p>Text echoed back to request</p>" + "<script type='text/javascript'>$('target').highlight();<'/script>",
        delay: 0
    },
    success: function(data){
        $('#text').text(data);
    }
})

输出:

<p>Text echoed back to request</p><script type='text/javascript'>$('target').highlight();</script>

注意:本例中使用Post来模拟返回html的ajax调用。看见http://doc.jsfiddle.net/use/echo.html用于Fiddler echo HTML选项。

对于您的第二个问题:您可以简单地将带有.html(数据)的文本发布到您的div.中

代码:

$.ajax({
    url: '/echo/html/',
    type: "POST",
    data: {
        html: "&lt;p&gt;hellohome&lt;/p&gt;",
        delay: 0
    },
    success: function(data){
        $('#text').html(data);
    }
})

小提琴手:http://jsfiddle.net/KWpUC/