我有一项任务,所以我需要了解: 如果我有一个带有十六进制颜色的列表,我需要在标题之前添加作为此颜色的名称:
<ul attr="pa_varnish_color">
<li>25acfa</li>
<li>ffffff</li>
<li>000000</li>
<li>ffff05</li>
</ul>
然后我有:
<div class="plans-description">Blue</div>
<div class="plans-description">White</div>
<div class="plans-description">Black</div>
<div class="plans-description">Other</div>
李的数量当然等于<div class="plans-description">
的数量。
所以我需要每个div都是前置每个li。像这样:
<ul attr="pa_varnish_color">
<li>
<div class="plans-description">Blue</div>
25acfa
</li>
<li>
<div class="plans-description">White</div>
ffffff
</li>
<li>
<div class="plans-description">Black</div>
000000
</li>
<li>
<div class="plans-description">Other</div>
ffff05
</li>
</ul>
答案 0 :(得分:1)
var i=1;
$(".plans-description").each(function() {
$("ul li:nth-child("+ i +")").prepend( $(this).clone(true));
i++;
});
@Olli K: 实际上$ .each为你提供索引,所以你可以写:
$(".plans-description").each(function(i) {
$("ul li:nth-child(" + (i + 1) + ")").prepend($(this).clone(true));
});
http://jsfiddle.net/washington_guedes/br1034r6/8/
答案 1 :(得分:-1)
var ARRAY_OF_COLORS = {"25acfa": "blue", .... };
$( "li" ).each(function( index ) {
$(this).append("<div class='plans-description'>" + ARRAY_OF_COLORS[$(this).html()]+ "</div>");
});