jquery - IE7/8 不解析新创建的 jQuery 对象

标签 jquery string internet-explorer

好吧,假设我有一个字符串:

var xmlString = '<main><id>5</id><name>test-string</name></main>';

然后我希望这个字符串的行为就像它是一个 jQuery 对象:

var xmlString = '<main><id>5</id><name>test-string</name></main>',
    xmlString = $(xmlString);

一旦我这样做了,我想找到 ID 节点的值:

var xmlString = '<main><id>5</id><name>test-string</name></main>',
    xmlString = $(xmlString),
    findIdTest = xmlString.find('id').text(),
    filterIdTest = xmlString.filter('main').find('id').text();

我尝试了两种方法,

xmlString.find('id').text()

filterIdTest = xmlString.filter('main').find('id').text();

在 FF、Chrome 和 IE9 中,两种方法的结果始终为 5

在 IE7 和 IE8 中,我什么也没得到..(空字符串)..

有谁知道为什么会发生这种情况......?

这是一个可以使用和排除故障的 fiddle :

http://jsfiddle.net/ZmeVY/2/

最佳答案

在创建 jQuery 对象之前使用 jQuery.parseXML 来创建有效的 XML 文档。

http://api.jquery.com/jQuery.parseXML/

var xmlString = '<main><id>5</id><name>test-string</name></main>',
    xmlDoc = $.parseXML(xmlString),
    myObj = $(xmlDoc);

myObj.find("id").text();

关于jquery - IE7/8 不解析新创建的 jQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9130674/

相关文章:

javascript - Jquery 效果在鼠标悬停时显示 <li><a> 菜单元素的溢出文本

javascript - 如果用户使用带有 anchor /哈希的链接访问网站,我如何将样式应用于元素

java - 比较两个字符串,如果一个字符串包含另一个字符串的所有字符,则返回 true

java - 在 Eclipse 中对齐多行 Java 字符串

html - IE 自动倒转阿拉伯文承租人

javascript - JQuery $.getJSON 具有用户名和密码基本身份验证?

jquery - 具有空单元格的表格行不显示边框

string - 使用 Groovy 将长哈希分解为单独的行

css - IE8 奇怪的附加 <li> 项?

IE9中的Javascript Json问题