javascript - Jquery 在特定表行之后追加 div

标签 javascript jquery html css

我定义了一个表:

<div id="display">
  <div class="displayRow">
    <img src="images/expand-arrow.gif" class="expandArrow" alt="expand">
    <div class="displayElement">1</div>
    <div class="displayElement">Standard</div>
    <div class="displayElement">This is more information</div>
  </div>
  <div class="displayRow">
    <img src="images/expand-arrow.gif" class="expandArrow" alt="expand">
    <div class="displayElement">2</div>
    <div class="displayElement">Special</div>
    <div class="displayElement">This is more information</div>
  </div>
</div>

单击 expandArrow 时,我想在该特定行下显示一个包含附加数据的表格。谁能帮忙?谢谢!

我已经试过了,但没有成功:

$(".expandArrow").on("click", function (event) {
   var info = '';
   details += '<div><table class="detailTable">';
   details += '<tr><td>DisplayElement1</td><td>' + json.Id + '</td></tr>';
   details += '<tr><td>Display Element2</td><td>' + json.Info + '</td></tr>';
   details += '</table></div>';

   $(this).parent().append(details);
});

最佳答案

您有 var info = '',您应该有 var details = ...

修复方法如下:

var details = '<div><table class="detailTable">';
details += '<tr><td>DisplayElement1</td><td>' + json.Id + '</td></tr>';
details += '<tr><td>Display Element2</td><td>' + json.Info + '</td></tr>';
details += '</table></div>';

此外,请确保将其包装在 ready 函数中,以便在 javascript 运行之前加载 DOM。否则它会在加载 DOM 之前绑定(bind)点击。 http://api.jquery.com/ready/

关于javascript - Jquery 在特定表行之后追加 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9590238/

相关文章:

javascript - 单击和链接时的 jQuery 事件

jquery - $ ('#foo' ).remove ('a' ) 和 $ ('#foo' ).find ('a' ).remove() 之间的区别

javascript - 如何检测 Phaser 中是否正在播放音乐?

html - 我的自定义样式表不会覆盖 foundation.css 样式表?

javascript - 如何使 Chart.js 变小? (html、chart.js)

javascript - 物化视差在 Angular2 应用程序中不显示图像

javascript - 在javascript中将各种日期格式转换为yyyy-mm-dd

单击元素的填充时不会触发 Javascript Click 事件

javascript - 根据网格数据显示剑道图(饼图)

jquery - 单击显示/隐藏 div,在 div 外部单击时切换