0

所以我有一个函数,其中一个 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

我这会工作

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 回答
0
$('[id^=q]').each(function(index){
  $('#c' + index).html($(this).html());
});

像这样的东西

于 2013-03-13T15:54:25.933 回答