我在这里遇到了问题。我需要将数据发送到我的li
中的ul
,其中已有大量其他li
。
这是我列出的地方:
lijst = $("<li/>")
.appendTo("#deals")
.data('stadnaam', oPlaats.Stad)
.click(function() {
showWeather($(this).data('stadnaam'));
});
$("<span/>")
.text(oPlaats.Prijs)
.addClass("price")
.appendTo(lijst);
$("<strong/>")
.text(oPlaats.Stad)
.appendTo(lijst);
$("<span/>")
.text(oPlaats.Land)
.appendTo(lijst);
如果你点击它,那ul应该还有2个div。我怎样才能做到这一点?我现在这样做,但它将日期放在最后一个li:
$("<br/>")
.appendTo(lijst);
$("<div/>")
.text(celsius)
.addClass("weather")
.appendTo(lijst);
$("<br/>")
.appendTo(lijst);
$("<div/>")
.text(oWeather[j].main)
.addClass("weather")
.appendTo(lijst);
答案 0 :(得分:0)
如果要将新元素附加到UL而不是LI,则应将其附加到元素的父元素中:
$("<br/>")
.appendTo(lijst.parent());
$("<div/>")
.text(celsius)
.addClass("weather")
.appendTo(lijst.parent());
$("<br/>")
.appendTo(lijst.parent());
$("<div/>")
.text(oWeather[j].main)
.addClass("weather")
.appendTo(lijst.parent());
另一种方法是做如下:
$("<br/>")
.appendTo(lijst.closest('ul'));
$("<div/>")
.text(celsius)
.addClass("weather")
.appendTo(lijst.closest('ul'));
$("<br/>")
.appendTo(lijst.closest('ul'));
$("<div/>")
.text(oWeather[j].main)
.addClass("weather")
.appendTo(lijst.closest('ul'));
但我建议使用parent()函数。如果这可以解决您的问题,请告诉我。
您应该向lijst var:
添加一个click事件lijst.click(function() {
var self = $(this);
var div = $('<div />');
self.append(div);
});