0

我有以下 html,我在method()之后使用 jquery 插入一些新的 HTML。这工作正常,但我现在有一种情况,我不希望它在某些条件下应用 after() 方法(其中顶部 TD 中存在一个附加类),我试图找出正确的 jquery 选择器语法。

为了使这一点更具体,首先,我有以下 html:

 <td class="fc-widget-content">
 <div>
      <div class="fc-day-number">1</div>
      <div class="fc-day-content">
  </div>
  </td>

我想要以下逻辑:我想坚持这个 html:

      <span class="addEventHidden" style="display: none;">
            <img src="/Content/Images/addEvent.gif">
      </span>

就在fc-day-number div 之后。我可以通过这样做轻松地做到这一点:

$('.fc-day-number').after(function () {
    return "<span class='addEventHidden' style='display: none;'><img src='/Content/Images/addEvent.gif'></span>";
});

这很好用,除非在某些情况下,如果顶部 div 有这个额外的类,我不想运行 .after() 方法: fc-other-month

所以如果顶部看起来像这样,请在命令之后应用它:

 <td class="fc-widget-content">

但如果顶部 TD 看起来像这样,则不是:

 <td class="fc-widget-content fc-other-month">
4

4 回答 4

2

尝试:

$('td.fc-widget-content:not(.fc-other-month) div.fc-day-number')
    .after('<span class="addEventHidden" ... >');

为了清楚起见,示例有换行符。替换<span class="addEventHidden" ... >为合法的 html。

于 2012-04-09T19:40:12.093 回答
0
$('.fc-widget-content .fc-day-number').not('.fc-other-month .fc-day-number').after(function () {
    return "<span class='addEventHidden' style='display: none;'><img src='/Content/Imags/addEvent.gif'></span>";
});
于 2012-04-09T19:35:12.270 回答
-2
$(".fc-widget-content:not(.fc-other-month):parent(.fc-day-number) .fc-day-number");
于 2012-04-09T19:37:24.830 回答
-2

您只能使用正确的父级.filter获取s:divs

$('.fc-day-number').filter(function(){
    return $(this).closest('.fc-other-month').length === 0;
}).after(function () {
    return "<span class='addEventHidden' style='display: none;'><img src='/Content/Images/addEvent.gif'></span>";
});

或者您可以使用更具体的选择器来选择div.

$('.fc-widget-content:not(.fc-other-month) .fc-day-number').after(function () {
    return "<span class='addEventHidden' style='display: none;'><img src='/Content/Images/addEvent.gif'></span>";
});

PS 你忘记了</div>之前的</td>.

于 2012-04-09T19:41:34.487 回答