1

我有一组缩略图,例如:

<div id='thumb' class='anImage.jpeg'>
<img src='anImage.jpg' />
</div>
......
<div id='thumb' class='anotherImage.jpeg'>
<img src='anotherImage.jpg' />
</div>

如您所见,我使用每个 DIV 的“类”以便将来能够通过它包含的图像名称找到所需的 DIV。

我有一个 Uploader(模仿 ajax,使用 iframe)。当我上传新图片时,我的 javascript 函数会从 php 文件中获得确认。如果没问题,我的 js 代码会添加(末尾的 appendChild)一个新的 DIV&IMG,如下所示:

<div id='thumb' class='newUploaded.jpeg'>
<img src='newUploaded.jpg' />
</div>

现在关于问题:我有另一个 jQuery 函数,通过单击任何图像(重命名按钮)发送到被单击的 php 文件图像名称。但是在服务器端重命名文件后,我需要使用 jQuery 在客户端更新图像名称。所以,我做类似的事情:

$.ajax({
.....
success: function(){
   $("div.oldname").attr("class", "newname");
}
.....
});

并且仅当文件是在上传后刚刚创建时才起作用。我的代码不适用于刚刚由 javascript appendChild() 函数创建的元素。

4

2 回答 2

0

发现..问题是

<div class="filename"></div>

文件名如:img.jpg 有一个点 :) 所以我们的类不正确:

$('div.img.jpg').blabla() // more than 1 dot ;
于 2013-02-19T04:54:46.407 回答
0

您是否尝试过删除旧类并添加新类而不是使用 .attr() 方法:

$("div.oldname").removeClass('oldname').addClass('newname');

另外,您将文件名用作类是否有原因?

于 2013-02-18T02:02:18.007 回答