首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当innerHTML在IE9中使用jQuery而不是Chrome解析时缺少

当innerHTML在IE9中使用jQuery而不是Chrome解析时缺少
EN

Stack Overflow用户
提问于 2015-01-23 16:13:12
回答 1查看 504关注 0票数 1

我在一些包含HTML的简单内容上使用jQuery的XML解析器。

使用jQuery的.html()或标准的javascript .innerHTML提取完整的HTML在Chrome中很好,但在Internet 9中不起作用。jQuery的.text()在这两种情况下都能工作,但我也需要提取html标记。

我如何使它与IE9一起工作呢?

您可以在这里测试它:http://jsfiddle.net/199vLsgz/

XML:

代码语言:javascript
运行
复制
<script id="xml_data" type="text/xml">
    <model_data name="The model ">
          <person_responsible></person_responsible>
          <objects>
               <object name="Available B reports" id="obj1" >
                   <description>this is a description <br/> oh look, another line!</description>
               </object>
          </objects>
     </model_data>
</script>

代码:

代码语言:javascript
运行
复制
$(function() {

    var xml = $("#xml_data").text();
    var xmlDoc = $.parseXML(xml);
    $xml = $(xmlDoc);

    var desc = $xml.find("model_data > objects > object[id='obj1'] > description");
    alert(desc.html());

})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-23 16:38:22

Xml元素没有在IE中定义innerHTML,这正是jquery的html函数所使用的。

首先,您需要使用CDATA来保留xml标记中的标记。

<description><![CDATA[this is a description <br/> oh look, another line!]]></description>

然后可以尝试使用textContent属性:

代码语言:javascript
运行
复制
alert(desc[0].textContent); //desc.text() will also work now

您还可以使用以下内容正确地添加内容:

代码语言:javascript
运行
复制
$('#some-container').html(desc[0].textContent);

代码语言:javascript
运行
复制
$(function() {

    var xml = $("#xml_data").text();
    var xmlDoc = $.parseXML(xml);
    $xml = $(xmlDoc);
    console.log($xml)
    var desc = $xml.find("model_data > objects > object[id='obj1'] > description");
    alert(desc[0].textContent);

})
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script id="xml_data" type="text/xml">
    <model_data name="The model">
          <person_responsible></person_responsible>
          <objects>
               <object name="Available B reports" id="obj1" >
                   <description><![CDATA[this is a description <br/> oh look, another line!]]></description>
               </object>
          </objects>
     </model_data>
</script>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28114056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档