jQuery设置另一个元素的onclick attr
我想通过在第一个元素上快速单击来设置另一个元素的onclick属性,但我无法让它工作。 这是我的样本: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;'窗口前的字符串无效,与文本前的字符串冲
你必须避开双引号
<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"));
});