我已经填充了异步ajax函数,该函数从xml:
中获取数据$.ajax({
type: "GET",
url: "/content/en_GB/banner-data.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('item').each(function(){
var section = $(this).attr('section');
var title = $(this).attr('title');
var tabid = $(this).attr('tabid');
var image = $(this).attr('image');
var banner = $("<div class='banner-textarea'></div>");
banner.append($("<span class='hidden panelButtonLabel'></span>").html(section));
banner.append($("<h2></h2>").html(title));
$(this).find('section').each(function(){
var alink = $(this).attr('link');
var desc = $(this).text();
banner.append($("<a href='"+alink+"'></a> | ").html(desc));
});
//banner = $("<div class='banner-textarea'></div>").html(banner);
banner = $("<div id='tab"+tabid+"' class='mini-banner-img'></div>").html(banner);
banner = $("<li class='panelsLi'></li>").html(banner);
但我还必须修改现有脚本,以便我可以将轮播功能应用于“banner”对象。
我在抓住小组课时遇到了问题:
$(".panelsCarousel").each(function(){
//init
var divObj=$(this);
var intervalHnd=null; //timer handler
// get the widget params
var params=divObj.getJsonComment();
var duration=params.duration||6000;
var ul=divObj.find("ul");
var LIs=banner.find("panelsLi"); < FAILS HERE
最后一行没有找到该类。你能帮忙吗?
非常感谢
答案 0 :(得分:0)
您缺少一个类的点(.
),而不是:
var LIs=banner.find("panelsLi");
尝试:
var LIs=banner.find(".panelsLi");
请参阅:
答案 1 :(得分:0)
您当前的jQuery selector panelsLi
实际上会定位具有标记的元素,而不是该类(即标记)。要定位课程,您需要使用.
:
var LIs=banner.find(".panelsLi"); <-- classes start with .
更新:我实际上看不到任何将panelsLi附加到文档的代码?渲染ajax更新时,您是否真的看到屏幕上显示panelsLi
?
代码中的banner
变量目前仅存在于成功ajax回调函数的范围内 - 除非您在范围之外声明变量,否则它不会对此范围之外的其他函数可用将面板添加到文档中,然后使用jQuery稍后获取对它的新引用。