Javascript 如何使用变量更改目标

Javascript 如何使用变量更改目标,javascript,jquery,variables,hyperlink,Javascript,Jquery,Variables,Hyperlink,因此,我使用jQuery来更改 相当于 当点击后者时 我得到了工作,但我希望这与每一个链接,所以q1只影响a1的内容,q2只影响a2。 我试图用一个变量来传递它,但是它不起作用。 我做错了什么 var echoPick; $('#q1 a').click(echoAnswer, function () { pickID = '#a1'; }); $('#q2 a').click(echoAnswer, function () { pickID = '#a2'; }); va

因此,我使用jQuery来更改 相当于 当点击后者时

我得到了工作,但我希望这与每一个链接,所以q1只影响a1的内容,q2只影响a2。 我试图用一个变量来传递它,但是它不起作用。 我做错了什么

var echoPick;

$('#q1 a').click(echoAnswer, function () {
    pickID = '#a1';
});

$('#q2 a').click(echoAnswer, function () {
    pickID = '#a2';
});

var pickID;

function echoAnswer() {
    var yourPick = $(this);
    echoPick = yourPick.text();
    $(pickID).text(echoPick);
}
试试这个:

$('#q1 a').click(function () {
    $('#a1').text($(this).text());
});
$('#q2 a').click(echoAnswer, function () {
    $('#a2').text($(this).text());
});
试试这个:

$('#q1 a').click(function () {
    $('#a1').text($(this).text());
});
$('#q2 a').click(echoAnswer, function () {
    $('#a2').text($(this).text());
});

这里有一个解决方案,不关心有多少链接

此外,e.preventDefault会阻止链接移动到任何地方


这里有一个解决方案,不关心有多少链接

此外,e.preventDefault会阻止链接移动到任何地方


请尝试以下方法,而不是对每个唯一ID反复重复相同的代码:

HTML:

请尝试以下方法,而不是对每个唯一ID反复重复相同的代码:

HTML:
看看这把小提琴:


$a[id^=q]将选择id以字母q开头的所有链接。然后,它会找到id相同但以字母a开头的元素,并将该链接的文本替换为单击的链接的文本。

看看这个提琴:


$a[id^=q]将选择id以字母q开头的所有链接。然后它找到id相同但以字母a开头的元素,并用单击的链接的文本替换该链接的文本。

听起来像OP想要抽象。就是这样吗?我觉得OP需要抽象。就是这样吗?有多少链接?你是在要求一个抽象的函数来处理它们吗?在我的项目中,我有10个链接,所以是的,这很好:有多少个链接?你是在要求一个抽象的函数来处理它们吗?在我的项目中,我有10个链接,所以是的,那会很好:非常整洁的代码@Terry,这就是我想要的,我觉得很难用一个问题来解释:我建议你加上e。请看我的建议,阻止链接做任何事情else@mplungjan谢谢你的建议:我刚刚添加了一行代码。非常简洁的代码@Terry,这正是我想要的,我觉得很难用一个问题来解释:我建议你加上e。请看我的建议,阻止链接做任何事情else@mplungjan谢谢你的建议:我刚刚添加了一行。
// Select for all links that start with "#q(...)"
$("a[href^='#q']").click(function(e) {

    // Prevent default
    e.preventDefault();

    // Define some variables
    var x = $(this).attr("href").substr(2),
        content = $(this).text();

    // Select the correct element to replace text
    $("#a" + x).text(content);
});
$("a[id^=q]").click(function(){
    $("#a" + this.id.substring(1)).text($(this).text());
})