我使用jquery中的append方法,动态添加新的元素内容,新添加的元素上的onlick事件不起作用。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我使用jquery中的append方法,动态添加新的元素内容,新添加的元素上的onlick事件不起作用。相关的知识,希望对你有一定的参考价值。
代码如下:
<div id="test1"><span>测试</span><div>
我通过$("#test1").append("<div>新添加的元素<input type='button' value='点击' onclick='alert(1)' </div>"); 在test1中增加了新的元素,但是点击按钮,没有任何反应。(在ie中是有问题的,在google浏览器中是没问题的)
<script >
$("#but1").click(function()
alter(1);
);
</script> 参考技术B 呵呵 不显示才是对的呢
你看看要添加的这句话就知道了
<div>新添加的元素<input type='button' value='点击' onclick='alert(1)' </div>
而input 标签没有闭合 所以ie没法解析追问
不好意思,那是我刚才往知道上敲的时候,打错了,应该是:$("#test1").append("新添加的元素 ");
追答首先,先确定下是否执行了该语句
可以在这个语句后加一条打印语句,如果打印了说明jquery的基本引用是没问题的。
如果没反应就是基本上jquery对象 出现问题了,可以查看引用jquery的src是否正确
我以前在项目中还遇到一个问题,在编辑js的页面中不知道怎么混入了特殊字符,不知道怎么的就是无法运行,后来新建重新copy了下就好
如果是这样的 ie对某些特殊字符无法解析,所以更无法执行。
而Google就有可能支持了这种特殊字符
而且假如没有语法错误的话这种基本的操作ie应该是肯定支持的。还是检查检查完整性吧!
用Jquery动态append方式加入标签时Css样式丢失的解决方法
一般在Jquery中会用下面的方式来添加新标签:
var obj = "<fieldset data-role=‘controlgroup‘ data-type=‘vertical‘ data-role=‘fieldcontain‘>
<input id=‘menu0" type=‘checkbox‘/><label for=‘menu0‘> 复选框 </label> </fieldset>"; //按个人要求拼接标签
$("#所在标签id").append(obj); // 用append 方式添加拼接的标签
$("#所在标签id")..listview("refresh"); //在使用‘ul‘标签时才使用,作用:刷新列表
$("#所在标签id").trigger("create"); //重点:这名的意思是重新加载所在标签的样式。非常有用的一句话,不加这一句你动态append的标签将丢失Css样式
以上是关于我使用jquery中的append方法,动态添加新的元素内容,新添加的元素上的onlick事件不起作用。的主要内容,如果未能解决你的问题,请参考以下文章
用Jquery动态append方式加入标签时Css样式丢失的解决方法