我应该可以加载相关的XML文件,并在视频播放时显示XML文件的内容。
我错过了什么?
JAVSCRIPT
var XML_PATH = "http://www.adjustyourset.tv/interview/cuepoints.xml";
var cuepoints=new Array();
$(document).ready(function() {
loadXML();
});
function loadXML()
{
$.ajax({
type: "GET",
url: XML_PATH,
dataType: "xml",
success: function onXMLloaded(xml)
{
// set cuepoints
cuepoints=$(xml).find("cuepoints");
// loop for each cuepoint
$(xml).find('cuepoint').each(function loopingItems(value)
{
// create an object
var obj={
timeStamp:$(this).find("timeStamp").text(),
desc:$(this).find("desc").text(),
thumbLink:$(this).find("thumbLink").text(),
price:$(this).find("price").text()};
cuepoints.push(obj);
$("#mycustomscroll").append('<ul>');
$("#mycustomscroll").append('<li id="item"><strong>'+(value+1)+"</strong><br/><strong>Time Stamp: </strong>"+obj.timeStamp+'</li>');
});
// close </ul>
$("#mycustomscroll").append('</ul>');
// append li tags
$("#leftcolumn").append('<li src="'+cuepoints[0].desc+'"> <p src="'+cuepoints[0].thumbLink+'" /></li>');
$("#price").append(cuepoints[0].price);
}
});
}
答案 0 :(得分:1)
没有人在呼叫init()
。
更改
function init() {
// call loadXML function
loadXML();
}
到
$(document).ready(function() {
loadXML();
});
答案 1 :(得分:1)
确定。现在我理解了这个问题。您可以从ajax请求中获取xml,但是您无法正确解析它。
如果你担心这段代码
$(xml).find('cuepoint').each(function loopingItems(value)
{
// create an object
var obj={timeStamp:$(this).find("timeStamp").text(), desc:$(this).find("desc").text(), thumbLink:$(this).find("thumbLink").text(), price:$(this).find("price").text()};
cuepoints.push(obj);
// append <ul> and timeStamp
$("#mycustomscroll").append('<ul>');
$("#mycustomscroll").append('<a><li id="item"><strong>'+(value+1)+"</strong><br/><strong>Time Stamp: </strong>"+obj.timeStamp+'</li></a>');
});
然后我建议您使用this.getAttribute('timeStamp') or $(this).attr('timeStamp')
$(this).find("timeStamp").text(),你不会得到任何东西,因为这是一个属性,而不是一个元素。