我想要一个带有onclick属性的元素。当我使用jQuery时,它似乎不起作用。这是我的代码:
$("h1").append($("<input>", {type: "text", onclick: "alert();"}));
以下代码可以工作:
<input type="text" onclick="alert();"></input>
答案 0 :(得分:3)
为什么不:
$("h1").append($("<input>").attr("type","text").click(function(){alert()}));
答案 1 :(得分:2)
你真的不想要onclick
属性,你想要使用jQuery的click
事件。设置onclick
属性在大多数浏览器中都有效,但它不会利用jQuery的规范化事件和跨浏览器支持。
此外,您没有正确使用jQuery工厂方法,它所采用的第二个参数是选择器的上下文,或者,在您创建html的情况下,要创建的元素的所有者文档你真的应该花一些时间阅读api。
您可以在jQuery中链接大多数方法,因此执行所需操作的“jQuery方式”是:
$('<input>').attr('type', 'text').click(function(){alert();}).appendTo('h1');
答案 2 :(得分:0)
如下:
$('h1').append('<input type="text">').find('input').live('click', function () { alert('bam'); });编辑:是的,我注意到David Thomas的评论是正确的,只是将警报更改为实际输出的内容正常。