好的,我们说我有一个字符串:
var xmlString = '<main><id>5</id><name>test-string</name></main>';
然后我希望这个字符串的行为就像它是一个jQuery obj:
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中,我什么也没得到。(空字符串)..
有谁知道为什么会发生这种情况......?
这是一个使用和排除故障的小提琴:
答案 0 :(得分:3)
在创建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();
答案 1 :(得分:0)
您正在寻找的是$ .parseXML()函数。
试试这个:
var xmlString = $.parseXML('<main><id>5</id><name>test-string</name></main>');
$xmlString = $(xmlString);
alert($xmlString.find('id').text());
有关详细信息和示例,请参阅http://api.jquery.com/jQuery.parseXML/。
希望有所帮助! -Ted
很高兴见到有人打败了我。