2012-07-12 82 views
0

我有一個表,我試圖替換文本中應該是文件名td的兄弟,但它似乎並沒有工作。jQuery選擇器沒有替換文字

這裏就是我想:

var current = $(".filename:contains('image.jpg')").siblings(); 
current.find(".filesize").text('new text'); 

的HTML:

<table id="uploadifive-fileupload-queue" class="table table-striped uploadifive-queue"> 
    <tbody> 
     <tr class="uploadifive-queue-item complete" id="uploadifive-fileupload-file-0"> 
      <td class="preview">thumb</td> 
      <td class="filename">image.jpg</td> 
      <td class="filesize">100x100</td> 
      <td class="fileinfo">Failed</td> 
      <td class="fileactions">Create Thumbnail</td> 
      <td class="filedelete"><button class="btn btn-danger">Delete</button></td> 
     <tr> 
    </tbody> 
</table> 
+0

您正在尋找兄弟姐妹的孩子沒有兄弟姐妹自己。要搜索兄弟姐妹,請在兄弟功能中使用選擇器。 – 2012-07-12 19:32:00

回答

5

在一行

$(".filename:contains('image.jpg')").siblings(".filesize").text('new text'); 
+1

哦,是的,我忘了兄弟姐妹可以選擇一個選擇器,我將刪除我的答案,因爲你的更好:) – 2012-07-12 19:31:41

4

current是一個集所有兄弟姐妹。

current.find(".filesize") 

這是尋找.filesize作爲current一個孩子。你想.filter相反,在設置找到一個項目:

current.filter(".filesize").text('new text'); 
3

發現只有通過孩子們的搜索。不是兄弟姐妹。

如果您將其更改爲

...

var current = $(".filename:contains('image.jpg')").parent(); 
current.find(".filesize").text('new text'); 

它的工作原理