我已经循环包含带有名为data-rating
的数据属性的子元素的div。我需要做的是获取子项的属性和值,并添加到每个父div。
以下是代码:
<div class="tile">
<div class="title-band">
<h3>Test Agency</h3>
<ul data-rating="3.0" class="rating" data-id="13">
<li class="whole"><span class="l"></span><span class="r"></span></li>
</ul>
</div>
</div>
<div class="tile">
<div class="title-band">
<h3>Another Agency</h3>
<ul data-rating="2.0" class="rating" data-id="14">
<li class="whole"><span class="l"></span><span class="r"></span></li>
</ul>
</div>
</div>
这是我想要完成的事情:
<div class="tile" data-rating="3.0">
<div class="title-band">
<h3>Test Agency</h3>
<ul data-rating="3.0" class="rating" data-id="13">
<li class="whole"><span class="l"></span><span class="r"></span></li>
</ul>
</div>
</div>
<div class="tile" data-rating="2.0">
<div class="title-band">
<h3>Test Agency</h3>
<ul data-rating="2.0" class="rating" data-id="14">
<li class="whole"><span class="l"></span><span class="r"></span></li>
</ul>
</div>
</div>
感谢任何帮助。
答案 0 :(得分:1)
您可以使用类title-band
获取父div,然后使用.attr()设置属性值,如
尝试
jQuery(function ($) {
$('.title-band').attr('data-rating', function () {
return $(this).find('ul').data('rating')
})
})
演示:Fiddle
答案 1 :(得分:1)
$('ul[data-rating]').each(function(i,a) {
$(a).parent().attr('data-rating', $(a).data('rating'));
});
答案 2 :(得分:0)
div
,其子元素具有data-rating
属性:
$('div > [data-rating]').each(function(){
$(this).parent().attr('data-rating', $(this).data('rating'));
});
如果子元素不是第一级,请删除>
。