【问题标题】:ajax append something if condition is verified如果条件得到验证,ajax 附加一些东西
【发布时间】:2017-02-03 19:06:25
【问题描述】:

我如何使它工作?

                        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);

我想要的条件是“如果变量项不为空,追加这个..”。

谢谢

【问题讨论】:

    标签: ajax if-statement append


    【解决方案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 的 data-role 更新为 header。要按顺序执行,您应该这样做:

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

    【讨论】:

    • 但我需要遵守订单。
    • 这确实以您尝试的相同顺序附加。您是否尝试将图像附加到锚点内?
    • 当您以尝试的方式链接附加时,它们都只是转储到第一个元素中。如果您需要特定的顺序,请为这些入口点创建变量并附加到父级。
    • 我有一些问题,因为我必须尊重一些命令。特别是,我必须使用此方法将
    • 附加到包含在
      中的
        中。
  • @Tony33 和我的 cmets 仍然站立。您不能只是随机删除.append 并希望它能够正常工作。你需要先建立一个结构。当您只是链接.appends 时,它将附加到第一个选择器而不是后续元素。因此,将您的基本元素创建为变量。然后创建您想要附加到该元素的后续元素,然后按照您想要的顺序附加它们。
  • 【解决方案2】:

    这样写。

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

    你在混合代码

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签