微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 XMLHttpRequest 中保留 HTML 标签 text.xmlindex.htmlscript.js

如何解决在 XMLHttpRequest 中保留 HTML 标签 text.xmlindex.htmlscript.js

假设一个 XML 的文本包含 HTML 标记,如 <br/><b><i>

我可以使用 XMLHttpRequest 获取数据并保留那些 HTML 标签吗?

text.xml

<div>
  <p>Foo bar <br/>foobar <b>bold</b> <i>italic</i></p>
</div>

index.html

<p id="text"></p>

script.js

var request;

function sendInfo() {
    var url = "text.xml";
        request = new XMLHttpRequest();

    try {
        request.onreadystatechange = getInfo;
        request.open("GET",url,true);
        request.send();
    }
    catch (e) {
        alert("Unable to connect to server");
    }
}

function getInfo() {
    if (request.readyState == 4) {
        var val = request.responseText;
        document.getElementById('text').innerHTML = val;
    }
}

sendInfo();

浏览器中的结果:

Foo bar<br/>
foobar bold italic<br/><br/>

<br/> 标签似乎被保留了,但 <b><i> 没有效果

Chrome 元素选项卡中的 HTML 如下所示:

<p id="text">
  <div>
    <p>
      "Foo bar "
      <br>
      "foobar "
      <b>bold</b> 
      <i>italic</i>
    </p>
  </div>
</p>

我是否在正确的轨道上?我想念什么?

解决方法

问题已解决。正如所指出的,代码有效。

这是一个 CSS 问题。

特别是我的 b,u,i { font: inherit } reset.cssindex.html 中(在我的开发环境中)。

一旦我将其注释掉,标签就会按预期应用。

(我的错是我没有测试我用于这个问题的简化代码。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。