0

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

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

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

重要说明:mytextFile.txt 是一些使用 ckeditor 生成的代码的容器,我想在我的 html 表单中将这个 txt 文件的内容显示为 html 表单。

我的txt文件中的代码是:

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

我想在我的html页面中显示为:sss hello home sss

坦克你的注意力

4

4 回答 4

2

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

$('myDiv').load('mytxtFile.txt', function(text) {
  $(this).text(text);
});
于 2013-08-12T14:39:32.503 回答
0

你不能。load()旨在将 HTML 片段直接拉入文档中。如果您想预处理数据,$.ajax请改为使用加载它并编写您自己的逻辑来更新元素内容success

success: function (data) {
    $('myDiv').text(data);  // Note: Your selector but not one that is valid for an HTML document
}
于 2013-08-12T14:29:50.713 回答
0

您可以加载文本文件,$.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 调用。有关 Fiddler 回显 HTML 选项,请参阅http://doc.jsfiddle.net/use/echo.html

对于您的第二个问题:您可以简单地将带有 .html(data) 的文本发布到您的 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/

于 2013-08-12T14:32:26.933 回答
0

我想你在追求这样的事情:

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

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

这是一个演示小提琴

于 2013-08-12T19:11:17.450 回答