用其他链接替换带有文本内容的链接 - 抽象代码

时间:2013-03-13 15:42:41

标签: javascript jquery dynamic code-snippets

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

答案 0 :(得分:1)

如果你已经知道对的数量,你可以这样做:

var numberOfQuestions = 5;

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

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

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

}

答案 1 :(得分:1)

将所有#qN元素设为question类。

$(".question").each(function () {
    var cid = "#c"+$(this).attr("id").substr(1);
    $(cid).text($(this).text());
});

答案 2 :(得分: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插件

答案 3 :(得分:0)

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

像这样的东西