-1

我正在尝试为每个具有特定类的 div 附加一个按钮,到目前为止我的代码是:

HTML:

<div id="865" class="gw-gopf-isotope-item">
 <div class="gw-gopf-post-overlay-inner">
  // button goes here
 </div>
</div>

jQuery:

$( ".gw-gopf-isotope-item" ).each(function() {
 var gallid = $(this).attr('id');
 $('.gw-gopf-post-overlay-inner').append('<a class=\"gw-gopf-btn gw-gopf-post-overlay-btn thickbox\" href=\"#TB_inline?width=600&height=550&inlineId=gallery-\"+gallid+\"\">View Photos</a>');
});

它的工作方式是:

  • 用户在管理员中创建画廊
  • 这些显示在前端
  • 我写的另一个脚本为每个画廊创建了一个独特的内容厚箱
  • 该按钮旨在链接到该独特的厚框

附加代码工作正常,但它不会为每个链接生成唯一 ID,因此为什么我认为我需要使用每个函数?

我必须使用 jQuery 来执行此操作,因为它正在修改一个我无法修改以直接添加代码的预构建系统。

非常感谢任何帮助

4

1 回答 1

1

由于您将'其用作分隔符并转义引号,\"因此您错过了两次''+gallid+'

它应该是:

$('.gw-gopf-post-overlay-inner').append('<a class=\"gw-gopf-btn gw-gopf-post-overlay-btn thickbox\" href=\"#TB_inline?width=600&height=550&inlineId=gallery-'+gallid+'\">View Photos</a>');

如果你仍然没有得到一个 id 调试它。

您可以gallid通过使用 console.log(gallid); 将其发送到控制台来查看是否生成 在 .each 循环内

$( ".gw-gopf-isotope-item" ).each(function() {
 var gallid = $(this).attr('id');
 console.log(gallid);
...

});

看看这个小提琴:

https://jsfiddle.net/a4zh87jg/4/这个对你的代码是正确的!

于 2016-06-10T10:47:06.210 回答