2013-03-13 59 views
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); 

回答

1

如果媒體鏈接知道對數你coud做這樣的事情:

var numberOfQuestions = 5; 

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

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

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

} 
1

給所有#qN元素question類。

$(".question").each(function() { 
    var cid = "#c"+$(this).attr("id").substr(1); 
    $(cid).text($(this).text()); 
}); 
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"]) 

或U可以讓一個jQuery插件

0
$('[id^=q]').each(function(index){ 
    $('#c' + index).html($(this).html()); 
}); 

Somtething這樣