用两个变量简化代码?

时间:2016-05-24 20:27:11

标签: javascript loops if-statement

我不确定我是否要求这样做,但基本上我正在尝试简化我的代码,所以我不必写相同的东西5次。 我在下面列出了两个样本。你可以看到唯一改变的是event.X和" .ia-event-x"。

// For title
if (event.title) {
    $(".ia-event-title").html(event.title);
     $(".ia-event-title").addClass('ia-populated');
}
else if (!event.title) {
    $(".ia-event-title").removeClass('ia-populated');
}

// For Description
if (event.description) {
    $(".ia-event-description").html(event.description);
     $(".ia-event-description").addClass('ia-populated');
}
else if (!event.description) {
    $(".ia-event-description").removeClass('ia-populated');
}

2 个答案:

答案 0 :(得分:1)

非常简单。注意:这是假设所有数据和DOM遵循相同模式的最短解决方案。

var array = ['title','description']
for(var i = 0 ; i < array.length; i++){
    var s = array[i];
    var obj = $(".ia-event-" + s);
    if (event[s]) 
        obj.html(event[s]).addClass('ia-populated');
    else 
        obj.removeClass('ia-populated');
}

答案 1 :(得分:0)

我创建了一个函数,我根据需要传递了参数。

function createPopupContent(eventParameter, eventClass) {
  if (eventParameter) {
    $(eventClass).html(eventParameter);
    $(eventClass).addClass('ia-populated');
  }
  else if (!eventParameter) {
    $(eventClass).removeClass('ia-populated');
  }
}