【问题标题】:How to give specific attribute to the last process of insertAfter() in jQuery?如何在 jQuery 中为 insertAfter() 的最后一个过程赋予特定属性?
【发布时间】:2016-08-03 14:00:26
【问题描述】:

有没有人知道如何在 jQuery 中最后一次尝试 insertAfter() 时给出特定的属性(在这种情况下是一个类)?

例如,

之前:

<td class="column-timesheet-travel">
</td>
<td class="column-timesheet-travel">
</td>

$('&lt;td class="column-timesheet-work"&gt;&lt;/td&gt;').insertAfter(".column-timesheet-travel") 之后应该是这样的:

<td class="column-timesheet-travel">
</td>
<td class="column-timesheet-work">
</td>
<td class="column-timesheet-travel">
</td>
<td class="column-timesheet-work NewClassAddedOnLastAttempt">
</td>

或者还有其他更好的方法吗? 提前谢谢你。

【问题讨论】:

  • 你能不能把那个类放在你要添加的 HTML 中...?
  • @RoryMcCrossan 不幸的是我做不到。因为在我的项目中,用户可以自定义页面。所以,我需要用 javascript/jQuery 管理 html 和 css。
  • 根本不添加类名,在你的CSS中使用.column-timesheet-work:last-child { /* CSS here */}
  • @DavidThomas 好吧,由于某些原因,我不能用 CSS 做到这一点。

标签: jquery html css insertafter


【解决方案1】:

在插入 HTML 更新之前,将插入的 div 存储在 var 上,然后它们会根据需要插入:

var $div = $('<td class="column-timesheet-work YOU-COULD-PUT_YOUR-CSS-HERE">TD 3</td>').addClass('or-add-this-way'); $('.column-timesheet-travel').last().after($div);

示例可以通过两种方式完成,添加您需要的类,替换“YOU-COULD-PUT_YOUR-CSS-HERE”或使用jquery的方法addClass。

https://jsfiddle.net/wallynm/2rjyLd7m/

【讨论】:

  • 非常感谢! $('.column-timesheet-travel').last().after($div); 给了我线索。
  • 也许这对其他人有用,这是我的解决方案:我在执行 insertAfter() 之后立即执行$('.column-timesheet-work').last().addClass('column-timesheet-total');
【解决方案2】:

只是另一种技巧:

 $('.column-timesheet-travel').after('<td class="column-timesheet-work"></td>').last().next().addClass('new');

"last()" 表示带有类 '.column-timesheet-travel' 和 "next()" 元素的最后一个 td 你刚才的“.after()”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-29
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2011-03-02
    相关资源
    最近更新 更多