【问题标题】:append div for each data in js为js中的每个数据附加div
【发布时间】:2019-02-12 08:36:11
【问题描述】:

我正在使用 AJAX 将数据附加到 div 元素。 div类的item样式显示是none,因为div类只有在success函数起作用时才会出现。基本上div类依赖于success函数。

<div class="item" style="display: none;">
<div class="Name"></div> //here I want to show the success function data
<select class="price">
 <option>A</option>
 <option>B</option>
 <option>C</option></select>
</div>

div 仅在找到数据时显示。我想在 div class="Name" 中添加数据并附加每个数据。就像添加第一个数据时,将显示 item div,当添加第二个数据时,将显示第二个数据。对于每个数据 div 类 itemNameprice 都会出现。在此代码中,数据仅附加在同一 div 中。

success:function(data) {
console.log(data);
$('.item').show();
$('.Name').append(data);}

我该怎么做?

【问题讨论】:

  • div only shows when it finds data?不太明白。
  • 您不必设置.item display: none;。将新的div 附加到.item 的父容器。
  • 我的意思是div类只有在success函数起作用时才会出现。 @weirdpanda

标签: javascript html ajax


【解决方案1】:

有一个父容器

<div class="items">
</div>

您可以使用 append 在此容器内创建新的“项目”元素 使用 append

// create inner element
var newItem=$('<div class="item"></div>');
// inserting data
newItem.html(data);
// append to parent container
 $('.items').append(newItem);

【讨论】:

    【解决方案2】:

    您可以使用它来附加新的项目 div。您需要添加项目容器,即 id 为 all_items

    的 div
    <div id="all_items"></div>
    
    success:function(data) {
    console.log(data);
    $('#all_items').append('<div class="item">+data+</div>');
    }
    

    【讨论】:

      【解决方案3】:

      因此,这里非常简单的答案是您的内嵌样式。如果你看代码,你已经写了display: none;。这告诉渲染引擎从当前对象模型中隐藏它。

      但是,当success 函数运行时,它会执行.show(),从而禁用display: none;

      为了解决这个问题,

      <div class="items" style="display: none;"></div>
      

      然后您可以将其存储为文字并使用如下映射动态添加内容:

      $( '.items' ).show();
      const dataHtml = '<div class="item">' + data + '</div>';
      $( '.items' ).append( dataHtml );
      

      P.S.:您可以查看here

      【讨论】:

      • 但是显示是无的,因为当成功函数工作时,它会执行 .show() 。并且当成功功能不起作用时, div 类将不会出现。我想为每个数据显示这个 div 类。 @weirdpanda
      • 我不太确定你想要什么。您想要每个项目都有一个 div 类吗?
      • 实际上在我的 ajax 代码中我正在搜索数据 .. 当搜索数据找到时,它将显示在 div 元素中。最初 div 类在获得搜索数据之前不会出现。 @weirdpanda
      • 也许我们无法正确理解您。你能详细解释一下吗?您希望每个数据项都有一个单独的“div”吗?
      猜你喜欢
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2018-02-12
      • 2014-02-24
      • 1970-01-01
      相关资源
      最近更新 更多