我有一个ajax函数从RSS提要中加载图像,但由于我仍在使用1.7.2,所以得到了@Override
public int onStartCommand(Intent intent, int flags, int startId){
UIHelper.notify(getApplicationContext(), "hello");
return IntentService.START_STICKY;
}
。不幸的是,不能升级到1.8 ...
.parseHTML is not a function error
我正在使用$.ajax({
type: "GET",
url: "url.com/feed",
dataType: "xml",
success: function(xml) {
var limit = 1;
$(xml).find('item').each(function(index) {
if (index < limit) {
var title = $(this).find('title').text();
var url = $(this).find('link').text();
var pubDate = $(this).find('pubDate').text();
var desc = $(this).find('description').text();
desc = $.parseHTML(desc);
var imgURL = desc[0].firstChild.srcset.split(',').pop().trim().split(' ')[0];
var alt = desc[0].firstChild.alt;
// Do something
return;
}
}); //end each
}
});
定位图像的最后一个.praseHTML()
属性以获取其URL。这是我的RSS外观
srcset
答案 0 :(得分:3)
您这里真的不需要jQuery。 Ajax中的X首先代表XML。
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML
使用responseXML属性获取文档,然后可以在其上使用经典的DOM方法,例如element.querySelector。
答案 1 :(得分:1)
如果您已经具有通过responseXML进行响应的XML文档,则可以直接查询描述,但是如果您具有XML字符串,则可以使用DOMParser来从XML解析XML(或HTML)源代码。字符串插入DOM文档。
var xmlString = "YOUR XML STRING";
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString, "text/xml");
console.log(xmlDoc.querySelector("description"));
答案 2 :(得分:0)
denom
方法仅在jQuery 1.8中添加,但是有一个GitHub问题here应该有所帮助。本质上,您应该做的是从jQuery中提取文件并与帮助程序一起使用,但这并不是那么可靠。为什么不能使用jQuery 1.8 +?