我如何使这个工作?
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);
我想要的条件是“如果变量项不为空,请附加此..”。
由于
答案 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
}
你正在混合代码