首先,我试图在单击时使用Javascript中的html()替换div容器中的某些内容。使用此方法的问题是它仅将最后一个值放在数组中。

因此,我改用append()。但这不像我期望的那样工作。好吧,它确实在for循环中添加了文本,但是单击之后,它只是添加内容而不会像html()一样删除先前的内容。

这是我的实现方式:

<div id="events-content"></div>

// using Responsive Calendar js

onMonthChange: function(events) {
    for (var eventsDate in options.events) {
        if (eventsDate.indexOf(monthKey) != -1) {

            var monthEvents = options.events[eventsDate];

            for(i = 0; i < options.events[eventsDate].dayEvents.length; i++) {
                $('#events-content').append(
                    '<p><b>' + eventsDate + ':</b> ' +
                    monthEvents.dayEvents[i].name + '<br/></p>');
            }

        }
    }
},
...


如何使用Javascript替换之前添加的文本?

我在Responsive Calendar JS中使用它

最佳答案

好吧,你可以做这样的事情...
准备循环中的所有标记。

 var html = "";
 for(i = 0; i < options.events[eventsDate].dayEvents.length; i++) {
            html += '<p><b>' + eventsDate + ':</b> ' +
          monthEvents.dayEvents[i].name + '<br/></p>';
 }

 $('#events-content').html(html);

09-11 14:54