帮助 .each.replaceWith() jQuery

发布于 2024-10-31 10:48:16 字数 613 浏览 1 评论 0原文

我只是想编写一些代码,对于特定类的每个元素,我需要找到某个属性,然后替换一个元素。我现在的代码看起来像这样:

<div class="a-photo" alt="*/THE IMG SRC*/"></div>
<div class="a-photo" alt="*/THE IMG SRC*/"></div>
<div class="a-photo" alt="*/THE IMG SRC*/"></div>
<div class="a-photo" alt="*/THE IMG SRC*/"></div>

$('.a-photo').each().replaceWith(function(){
var hash = $(this).attr('alt')
"<div class='a-photo' style='background:url("+ hash +") center no-repeat;></div>"
});

我知道这是不对的,而且它不起作用,但我想不出如何写这个,任何帮助将不胜感激!

编辑

我应该提到元素的数量不是预先确定的。

I am just trying to write some code, for each element of a specific class i need to find a certain attribute, then replace an element. the code i have right now looks like this:

<div class="a-photo" alt="*/THE IMG SRC*/"></div>
<div class="a-photo" alt="*/THE IMG SRC*/"></div>
<div class="a-photo" alt="*/THE IMG SRC*/"></div>
<div class="a-photo" alt="*/THE IMG SRC*/"></div>

$('.a-photo').each().replaceWith(function(){
var hash = $(this).attr('alt')
"<div class='a-photo' style='background:url("+ hash +") center no-repeat;></div>"
});

i know this is not right, and its not working, but i can't think of how to write this, any help would be greatly appreciated!

EDIT

i should mention that the amount of elements is not predetermined.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不喜欢何必死缠烂打 2024-11-07 10:48:16

我想你想要以下内容:

$('.a-photo').each()(function(){
    $(this).css({'background':'url('+$(this).attr('alt') + ') center no-repeat'});
});

I think you want following:

$('.a-photo').each()(function(){
    $(this).css({'background':'url('+$(this).attr('alt') + ') center no-repeat'});
});
○闲身 2024-11-07 10:48:16

您正在使用 each().replaceWith 这是一个错误,也是多余的,因为 replaceWith 已经做了同样的事情。尝试:

$('.a-photo').replaceWith(function(){
  var alt = $(this).attr('alt');
  return "<div class='a-photo' style='background:url("+ alt +") center no-repeat;></div>";
});

You are using each().replaceWith which is an error and also superfluous becaue replaceWith already does the same. Try:

$('.a-photo').replaceWith(function(){
  var alt = $(this).attr('alt');
  return "<div class='a-photo' style='background:url("+ alt +") center no-repeat;></div>";
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文