0

したがって、あるdivのテキストを別のdivのテキストに置き換える関数があり、コードは正常に機能しますが、コードを抽象化するための優れた動的な方法があるので、短いスニペットを取得できるので、そうする必要はありません。 divの「ペア」ごとにコードを繰り返しますか?

私のJS:

 var correctAnswer1 = $('#q1').text();              
    $('#c1').text(correctAnswer1);

    var correctAnswer2 = $('#q2').text();               
    $('#c2').text(correctAnswer2);

    var correctAnswer3 = $('#q3').text();               
    $('#c3').text(correctAnswer3);
4

4 に答える 4

1

ペアの数がすでにわかっている場合は、次のようにすることができます。

var numberOfQuestions = 5;

for(i = 0; i < numberOfQuestions; i++)
{

    var answer = jQuery("#q"+i).text();

    jQuery("#c"+i).text(answer);

}
于 2013-03-13T15:50:52.453 に答える
1

#qNすべての要素にquestionクラスを与えます。

$(".question").each(function () {
    var cid = "#c"+$(this).attr("id").substr(1);
    $(cid).text($(this).text());
});
于 2013-03-13T15:51:24.407 に答える
0
$('[id^=q]').each(function(index){
  $('#c' + index).html($(this).html());
});

このようなもの

于 2013-03-13T15:54:25.933 に答える
0

私はこれがうまくいく

function setTxtVal(id){
if(typeof id == "string"){
var sec = id.charAt(id.length - 1);
$("#c"+sec).text( $("#"+id).text() )
}
if(typeof id == "object"){
var x ,s;
for (x in id) {
var s = x.charAt(x.length - 1);
$("#c"+s).text( $("#"+x).text() )    
}
}

setTextVal("c1")

また

setTextVal(["c1", "c3", "c4"])

またはあなたはjqueryプラグインを作ることができます

于 2013-03-13T15:54:11.613 に答える