对于每个链接,例如
<a href="http://www.wowhead.com/item=78363">http://www.wowhead.com/item=78363</a>
我想在href
属性中检索网址末尾的ID。例如,78363
,如上所示。使用此ID,我想检索XML页面并根据ID从中获取数据。 XML文档的URL与项目的链接相同,但以&xml
结尾,因此:
http://www.wowhead.com/item=78363&xml
从XML页面我需要CDATA
部分中的值:
<name>
<![CDATA[Vagaries of Time]]>
</name>
即“时间的摇晃”。然后我需要在标签内插入名称:
<a href="http://www.wowhead.com/item=78363">Vagaries of Time</a>
我该如何做到这一点?
答案 0 :(得分:0)
根据正则表达式循环链接,发送Ajax请求,使用正则表达式解析文本,然后完成。
$('a').each(function() {
var $this = $(this);
if(/item=\d+$/.test(this.href)) {
$.ajax({
url: this.href + '&xml',
dataType: 'text',
success: function(data) {
$this.text(/<!\[CDATA\[([^\]]+)/.exec(data)[1]);
}
});
}
});
当然,您很可能想要添加一些错误检查。此外,如果您的XML文档比您发布的示例更复杂,请考虑使用原生XML功能进行解析 - 我只是使用正则表达式来简化它。