jQuery设置另一个元素的onclick attr

jQuery设置另一个元素的onclick attr,jquery,onclick,Jquery,Onclick,我想通过在第一个元素上快速单击来设置另一个元素的onclick属性,但我无法让它工作。 这是我的样本: 你必须避开双引号 <a id="a1" onclick='$("#a2").attr("onclick", "window.prompt(\"Text:\",\"foo\")");'>test</a> 表示在圆括号前关闭属性,其后的代码会导致语法错误。'$a2.attronclick,window.promptext:,foo;'窗口前的字符串无效,与文本前的字符串冲

我想通过在第一个元素上快速单击来设置另一个元素的onclick属性,但我无法让它工作。 这是我的样本:


你必须避开双引号

<a id="a1" onclick='$("#a2").attr("onclick", "window.prompt(\"Text:\",\"foo\")");'>test</a>
表示在圆括号前关闭属性,其后的代码会导致语法错误。

'$a2.attronclick,window.promptext:,foo;'窗口前的字符串无效,与文本前的字符串冲突,等等

您可以以适当的jQuery方式使用click事件处理程序:

使用jQuery

$function{ //使用一个,因为您只想绑定一次 $'a1'。一次“点击”功能{ $'a2'。单击函数{ 提示“Text:”、“foo”; } } } 测验 测试尝试更新的


使用jQuery事件处理程序而不是内联事件处理程序。。。字符串连接不正确。在my AnswerOnClick=中使用jQuery事件处理程序更新FIDDLE不是一个好主意。我正在设置属性onclick。我没有把它和jQuery事件处理程序搞混,对不起,我是说混合。说真的,如果您可以使用$a2.clickfunction{prompt'Text:','foo';};,为什么要继续使用onclick属性的手动设置?是的,这是OP问题中的问题,但我想,如果没有笨拙过时的onclick,展示代码应该是什么样子会很好。@Regent谢谢你更新我的知识!!为什么你们两个都留下来@Regent是的。。。忘了取下那个
<a id="a1" onclick='$("#a2").attr("onclick", "window.prompt(\"Text:\",\"foo\")");'>test</a>
attr("onclick", "window.prompt("// your code is like this
$("#a2").attr("onclick", "window.prompt("); // so your code get interpret like this.
$(document).ready(function()
{
    $('#a1').click(function()
    {
        $("#a2").off("click");
        $("#a2").click(function()
        {
            prompt('Text:','foo');
        });
    });
});
   $("#a1").click(function(){
       $("#a2").attr({"onclick":"window.prompt(\"Text:\",\"foo\")"});
       alert($("#a2").attr("onclick"));
   });