通过js输出的html的div标签,为什么写的click事件无法操作呢?

$("body").prepend(" <div class=\"clothes\" id=\“clothes\”></div>
$("#closebtn").click(function(){
$(this).parent.remove();
});

可能原因如下:

1、点击事件名称是onclick,请不要出现拼写错误。

2、事件后面的对应的是方法名称,请确认该方法已经正确定义或者没有出现方法名称的拼写错误,方法名后要加(),如form()。

3、更改标签的内容需要inner.HTML且确认以获取到需要更改的div。

onclick实例:

<html>
<body>

Field1: <input type="text" id="field1" value="Hello World!">
<br />
Field2: <input type="text" id="field2">
<br /><br />
点击下面的按钮,把 Field1 çš„内容拷贝到 Field2 ä¸­ï¼š
<br />
<button onclick="document.getElementById('field2').value=
document.getElementById('field1').value">Copy Text</button>

</body>
</html>

效果如下:

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-25
事件的绑定要元素创建成功后再执行,否则你通过$("#closebtn")找不到这个元素对象,自然就无法为这个新创建的对象绑定事件了。

另外,看你上面的代码,你追加的是DIV对应 的ID是clothes,但是你绑定的元素ID是closebtn,不知是否写错了?
如果没写错的话,请参照我上面的试去做。追问

绑定的元素是追加元素的子元素,我没有粘贴完全,
click事件是他们都在页面上显示之后才触发的,所以应该是已经创建了,但是就是没有反应,我用alert("");测试程序要跟就没有进去,不知为何呢?是不是通过js输出的标签不能附加click事件呢?

第2个回答  2013-11-25
没有完整的东西,无法告诉你为什么, 请检查 1、是否引入jquery框架 2有没有ID是#closebtn的标签 2、 你点击到#closebtn 标签没有追问

你说的那三点我检查了没有问题,代码是二楼那个,基本上全了,帮忙看下

追答

......... 你还是没写全啊... aa () 你怎么调用的? 建议把这个效果代码全贴出来 包括 ..........................................

第3个回答  2013-11-25
你给的代码里 哪有id为closebtn的div啊。我看你动态增加div的id是clothes不是closebtn。
你再确认一下吧。追问

是的 closebtn是clothes的子元素,两个都是div,我想点击子元素删除其父元素下所有内容,写法没有错的,但是click事件不起作用,请帮忙看看~~

追答

那你把代码贴全一点吧

追问

function aa(){
$("body").prepend(" ")}
$("#closebtn").click(function(){ $(this).patents.remove(); });

追答

function aa(){
$("body").prepend(" sdf");
$("#closebtn").click(function(){
alert(123);
});
}

你把
$("#closebtn").click(function(){
alert(123);
});
写到aa的里面,你写到aa的外面了
写到aa里面是为了在点击增加div的时候同时绑定click事件。

本回答被提问者采纳
相似回答