无法在表分隔符中的ul之前插入链接

时间:2017-02-22 10:45:35

标签: javascript jquery html

我正在尝试将链接插入<td>元素中的特定位置 - 就在<ul>元素之前。我能够在没有问题的情况下预先添加/附加整个<td>但不能添加到其中的特定元素。

这就是我正在尝试的

var find = $("table.month tr td." + holiday_starts + "ul")
var add_person = $('</br><a href="#"><center>'+the_person+'</center></a>').insertBefore(find)

哪个不行。 (holiday_starts是我的td类中出现的变量)

我需要在这里插入链接:

<table>
    <tr>
        <td class="holiday_starts_var">
            "some text"
            // WANT LINK IN HERE
            <ul>
            </ul>
            ...

4 个答案:

答案 0 :(得分:3)

您需要使用正确的选择器来选择子distinctUntilChanged()

ul

而不是

$("table.month tr td." + holiday_starts + " ul")
                                          //^^ Space is important

答案 1 :(得分:3)

您的选择器不正确

var find = $("table.month tr td." + holiday_starts + "ul")

结果字符串为:

table.month tr td.holiday_starts_varul

更改为:

var find = $("table.month tr td." + holiday_starts + " ul")

请注意ul之前的空格,它应该修复您的选择器

答案 2 :(得分:3)

您的选择器错误,因为您的班级名称与ul混在一起。课名后必须有空格

   var find = $("table.month tr td." + holiday_starts + "ul")

应该是

var find = $("table.month tr td." + holiday_starts + " ul")

答案 3 :(得分:0)

这在我在选择器中插入UL之前的空格并为表提供类之后,对我有用。

下次请创建 Minimal, Complete, and Verifiable example

var holiday_starts = "x", the_person="bla"
var $find = $("table.month tr td." + holiday_starts + " ul");
$('</br><a href="#"><center>' + the_person + '</center></a>').insertBefore($find)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="month">
  <tr>
    <td class="x">
      "some text" // WANT LINK IN HERE
      <ul><li>...</li>
      </ul>
    </td>
  </tr>
  <tr>
    <td class="y">
      <ul>
      </ul>
    </td>
  </tr>
</table>