2010-10-27 68 views
0

我正在最新版本的jFeed中使用最新的jQuery。我知道jFeed已经过时了,不再支持,但firefox似乎是唯一一个使用此设置解析RSS feed的问题的浏览器。我修改了jFeed来拉取XML节点“dc:date”中的'date'字段。我能想到的唯一的事情是firefox由于分号而出现问题。 (所有其他领域工作正常,他们没有这个字符)。使用jfeed解析RSS提要仅在某些字段中失败

我已经更新了jFeed原型,包括日期字段和jFeed是在除Firefox以外的一切解析精细现在这个样子所修改的部分看起来:

c.date = jQuery的(本).find ( “日期”)当量(0)的.text();

没有错误被抛出,只是返回一个空值。

回答

0

你需要跳过:那里\\,因为它是jQuery的保留字符。

请参阅该文档上selectors

如果你希望使用任何的元字符(#; &,+ *〜':“^ $ => |/@!)作为一个名称的文字部分,必须以两个反斜杠逃脱字符:。\\举例来说,如果你有一个name="names[]"的输入,你可以使用选择$("input[name=names\\[\\]]")

尝试,

jQuery(this).find("dc\\:date") 
+1

酷。我之前尝试过,但它在铬/铬打破它。虽然检查后,它修复了它的Firefox。我想现在我的解决方案将运行两种方式,并返回实际拾取的任何一个。谢谢 – 2010-10-28 02:24:29

0

您应该尝试阅读本主题。它涵盖了namaspace语法。 Chrome fix

1

完整的答案,基于thread捷豹Bhandal前建议......

$(this).find('[nodeName=dc\\:date]').text(); 
+0

我还发现我不能使用这个方法使用旧版本的jquery(1.2.6),并且必须升级到最新版本。 – 2011-07-27 22:44:49