每个功能仅适用于 console.log
Each function is working only for console.log
需要将所有 类名 保存为另一个 div 的换行文本。只显示最后一个类名,但在控制台日志中它正在工作。无法弄清楚哪里出了问题。
$(".score" ).children('div').each(function(arr) {
clsas = $(this).attr('class');
$('.part-list').html(clsas);
clsas = clsas.replace(/_/gm, " ")
.replace(/(\d{1,}) (\d{1,})/gm, ", ")
.replace(/stff /gm, "")
.replace(/(\B)(\d{1,})/gm, " ");
console.log(clsas);
}).each(function() {
$('.part-list').html( "<div class='instrument'>" + clsas + "</div>" );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="part-list"></div>
<div class="score">
<div class="stff_Flute1_2"></div>
<div class="stff_Oboe_1_2"></div>
<div class="stff_Clarinet_1_2"></div>
</div>
$.html( string ) 设置 html 的值,因此对于通过它的每个循环都将 html 设置为其他值。
在您的示例中,它将被设置为长笛,然后是双簧管,然后是单簧管。
解决此问题的一种方法是创建一个新元素并将其附加到您想要的位置。
例如
var txt1 = "<div class='instrument'>" + clsas + "</div>" ; // Create element with HTML
$('.part-list').append(txt1); // Append the new element
$(".score" ).children('div').each(function( arr ) {
clsas = $(this).attr('class');
clsas = clsas.replace(/_/gm, " ").replace(/(\d{1,}) (\d{1,})/gm, ", ").replace(/stff /gm, "").replace(/(\B)(\d{1,})/gm, " ");
$('.part-list').append("<div class='instrument'>" + clsas + "</div><br>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="part-list"></div>
<div class="score">
<div class="stff_Flute1_2"></div>
<div class="stff_Oboe_1_2"></div>
<div class="stff_Clarinet_1_2"></div>
</div>
需要将所有 类名 保存为另一个 div 的换行文本。只显示最后一个类名,但在控制台日志中它正在工作。无法弄清楚哪里出了问题。
$(".score" ).children('div').each(function(arr) {
clsas = $(this).attr('class');
$('.part-list').html(clsas);
clsas = clsas.replace(/_/gm, " ")
.replace(/(\d{1,}) (\d{1,})/gm, ", ")
.replace(/stff /gm, "")
.replace(/(\B)(\d{1,})/gm, " ");
console.log(clsas);
}).each(function() {
$('.part-list').html( "<div class='instrument'>" + clsas + "</div>" );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="part-list"></div>
<div class="score">
<div class="stff_Flute1_2"></div>
<div class="stff_Oboe_1_2"></div>
<div class="stff_Clarinet_1_2"></div>
</div>
$.html( string ) 设置 html 的值,因此对于通过它的每个循环都将 html 设置为其他值。
在您的示例中,它将被设置为长笛,然后是双簧管,然后是单簧管。
解决此问题的一种方法是创建一个新元素并将其附加到您想要的位置。
例如
var txt1 = "<div class='instrument'>" + clsas + "</div>" ; // Create element with HTML
$('.part-list').append(txt1); // Append the new element
$(".score" ).children('div').each(function( arr ) {
clsas = $(this).attr('class');
clsas = clsas.replace(/_/gm, " ").replace(/(\d{1,}) (\d{1,})/gm, ", ").replace(/stff /gm, "").replace(/(\B)(\d{1,})/gm, " ");
$('.part-list').append("<div class='instrument'>" + clsas + "</div><br>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="part-list"></div>
<div class="score">
<div class="stff_Flute1_2"></div>
<div class="stff_Oboe_1_2"></div>
<div class="stff_Clarinet_1_2"></div>
</div>