2012-07-12 124 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'); 

它的工作原理