2017-02-22 104 views
2

我試圖在<td>元素內的特定位置插入鏈接 - 就在<ul>元素之前。我可以預先/附加整個<td>沒有問題......但不能對其中的特定元素。不能在表格分隔符中ul之前插入鏈接

這就是我想要

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> 
      ... 
+0

@ P.Joe,對於'$( 'holiday_starts_var')'必須用'的.html()'。 –

+0

如果OP使用''''''代碼片段編輯器發佈了一個[mcve],問題會更快發現 – mplungjan

回答

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之前的空間,這應該解決您的選擇

3

您需要使用正確的選擇,選擇孩子ul

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

而不是

$("table.month tr td." + holiday_starts + "ul") 
3

你的選擇是錯誤的,因爲你的類名與ul混合。必須有一流的名字後面空間

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

應該

var find = $("table.month tr td." + holiday_starts + " ul") 
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>