jQuery将项目追加到每个div +显示它的ID

时间:2016-06-10 10:44:19

标签: jquery jquery-append

我正在尝试向每个具有某个类的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>');
});

它的工作方式是:

  • 用户在管理员中创建图库
  • 这些显示在前端
  • 我写的另一个脚本创建了一个每个图库独有的内容厚盒
  • 该按钮用于链接到该唯一的thickbox

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

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

非常感谢任何帮助

1 个答案:

答案 0 :(得分: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调试它。

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

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

});

看看这个小提琴:

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