如果条件得到验证,ajax会附加一些内容

时间:2016-09-26 12:27:30

标签: ajax if-statement append

我如何使这个工作?

                        var makePage = $('<div />').attr('data-role', 'page').attr('id', 'p'+item.id)
                        .append($('<div>').attr('data-role', 'header')
                        .append('<a href="#"></a>')
                        .append('<img src="images/app/logo.png" id="navImg"/>')
                        .append('<div class="separatore"></div></div>'))
                        .append($('<div />').attr('data-role', 'main').attr('class', 'ui-content')
                        .append('<h2 class="hstyle">'+item.name+' '+item.surname+'</h2>')
                        .append($('<ul />').attr('data-role', 'listview').attr('data-inset', 'true') 
                if (item.cellulare != '') {     .append('<li><a href="tel:+39'+item.cellulare+'"><img src="images/app/tel.png" class="ui-li-icon">'+item.cellulare+'</a></li>')  }
                        ) // data-role page
                        ); // data-role main                      

                        makePage.appendTo($.mobile.pageContainer);

我想要的条件是“如果变量项不为空,请附加此..”。

由于

2 个答案:

答案 0 :(得分:1)

如果您想稍后在其上添加新元素,请将新div存储到变量中。你这样做的方式是告诉编译器使用不存在的真值的append方法。

var newDiv = $('<div />').attr('data-role', 'page')
                         .append($('<div>')
                         .attr('data-role', 'header');

if (item != '') {
 newDiv.append('<a href="#"></a>')
        .append('<img src="images/app/logo.png" id="navImg"/>');
}

如果您需要附加到特定元素,则需要在该级别追加,然后将该级别放入父级。例如,如果您尝试将图像附加到锚点内(请注意您的代码,如果它是正确的代码将全部附加到您创建的第一个div中):

$('<a href="#"></a>').append('<img src="images/app/logo.png" id="navImg"/>').appendTo(newDiv);

在你的第一部分看起来你可能打算创建一个div,然后追加另一个具有特定数据角色的div,但是你这样做会创建一个带有数据角色页面的div,附加另一个div ,然后将父div的数据角色更新为标头。要按顺序执行此操作:

var newDiv = $('<div />').attr('data-role', 'page');
$('<div>').attr('data-role', 'header').appendTo(newDiv);

答案 1 :(得分:0)

这样写。

if(item != '')
{
  //write your code 
}

你正在混合代码