我有这样的HTML结构:
<div id='gallery-1' class='gallery galleryid-1628 gallery-columns-3 gallery-size-thumbnail'>
<dl class='gallery-item'>
<dt class='gallery-icon landscape'>
<a href='2829970281_large.jpg'><img width="300" height="300" src="2829970281_large-300x300.jpg" class="attachment-thumbnail" alt="2829970281_large" /></a>
</dt>
</dl>
<dl class='gallery-item'>
<dt class='gallery-icon landscape'>
<a href='2829970282_large.jpg'><img width="300" height="300" src="2829970282_large-300x300.jpg" class="attachment-thumbnail" alt="2829970282_large" /></a>
</dt>
</dl>
<dl class='gallery-item'>
<dt class='gallery-icon landscape'>
<a href='jpeg.jpg'><img width="300" height="300" src="jpeg-300x300.jpg" class="attachment-thumbnail" alt="jpeg" /></a>
</dt>
</dl>
如何选择父div
的图库id
,并使用JQuery为子rel
标记添加<a>
属性?
到目前为止,这是我的工作:
$('.gallery-item a').attr('rel', $(this).parent('div').attr('id'));
期望的效果是每个<a>
标记看起来像这样:
<a href="" rel="gallery-1">
我打算在多个图库中使用它,所有图库都有不同的ID,但是其中的3-4个<a>
标记应该被赋予其父div容器的rel
属性。
答案 0 :(得分:1)
this
未引用所选元素,您可以使用.attr()
回调函数。在对每个元素执行一次的回调的上下文中,this
引用所选元素。另外parent
只选择父元素,您应该使用.closest()
代替:
$('.gallery-item a').attr('rel', function() {
return $(this).closest('div').attr('id');
});