JQuery获取append后的动态元素:live()和on()

jquery通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)

$("ul").append("<li class=‘name‘>名称</li>");

【错误】然后通过下面的方式,这样是不能获取的 :

$(".name").click(function (){
alert("获取到append后的节点");
})

【正确】正确的方法是:

$(".name").live("click", function() {
alert("获取到了");
});

jquery 1.7+之后用on代替live,on()方法在被选元素及子元素上添加一个或多个事件处理程序

<div id="one"></div>
$(‘#one‘).append("<p id=‘two‘>test1</p>");
append后结果:
$(‘#one‘).append("<p id=‘two‘>test1</p>");

【错误】直接用下面的方式,不会弹出窗口的:

$("#two").on("click",function(data){
alert(data);
});

【正确】改成下面的方式:

$("body").on("click","#two",function(data){
alert(data);
});

时间: 2024-08-25 19:49:47

JQuery获取append后的动态元素:live()和on()的相关文章

JQuery获取append后的动态元素

在使用ajax请求后,使用jquery将数据append到网页中.发现jquery无法使用append内的id和class获取元素. 例如:$("ul").append("<li class='name'>名称</li>"); 无法使用下面的语句来获取: $(".name").click(function (){  alert("获取到append后的节点"); }) 应该使用: $(".na

jQuery获取被被点击元素的id属性值

jQuery获取被被点击元素的id属性值:有时候可能需要获取被点击元素的一些信息,本章就以id属性为例子,进行演示一下,当然在实际应用中可能没有如此的简单,不过复杂的功能都是由小的功能组合而成的,下面通过实例代码对此做一下简单介绍.代码如下: $(document).click(function (e){ var v_id=e.target.id; } ) 相关阅读:1.click事件而已参阅jQuery的click事件一章节. 2.target属性可以参阅jQuery的event.target

js,jquery 获取滚动条高度和位置, 元素距顶部距离

一,获取滚动条高度和位置 jQuery 获取览器显示区域的高度: $(window).height();  获取浏览器显示区域的宽度:$(window).width(); 获取页面的文档高度:$(document).height(); 获取页面的文档宽度:$(document).width(); 获取滚动条到顶部的垂直高度:$(document).scrollTop()或$(window).scrollTop() 获取滚动条到左边的垂直宽度:$(document).scrollLeft()或$(

JQuery获取子孩子和兄弟元素的方法

这里说的获取当前元素的子孩子和兄弟元素的方法,另外还有遍历和指定的具体要求: 01.html代码: <!DOCTYPE html> <html> <head> <title>测试jquery</title> <meta charset="utf-8"/> <link rel="stylesheet" type="text/css" href="01.css&q

jquery 获取form下的所有元素

<!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title></title> <script type="text/javascript" src="Scripts/jquery-1.7.1.min.js"></script> <script src="js/md5.js&q

jquery获取select标签的选中元素

select 标签配合 option 使用,是很好的下拉菜单,获取选中的选项值,可以用 jquery 的 api 简单直接的获取: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <select id='selection' onclick="clickClick()"> <option&g

jQuery获取动态产生的html内标签或元素

下午分享<MVC编辑状态两个DropDownList联动>http://www.cnblogs.com/insus/p/3426563.html 不久,马上有网友问及三级联动的例子.Insus.NET回复他,会做二级联动,三级应该不难.原理与方法是一样的. 写此篇的目的,还是处理jQuery怎样获取动态产生后的html的标签或是元素.还是先回过头去看篇头指定的链接的文章.一开始时,Insus.NET使用了jQuery的ajax产生了一数据行,并append至 <tbody id=&quo

jQuery获取动态生成的元素

需求描述:页面上可以动态添加数据,比如table,点击按钮可以动态添加行.又或页面 加载时table数据是通过ajax从后台获取的.而这时我们想要获取其中的某个值,又该如何获取呢? 如果是要通过某个事件来获取的比如click,mouseover等等,则可以使用live()方法 $(".button").live("click",function(){ console.info($("#mytd").html()); }) live()的详细说明参

jQuery获取动态添加的元素,live和on的区别

今天给大家说一下如果用jQuery获取动态添加的元素,通常如果你在网页上利用jQuery添加一个元素,那么用平常的jQuery获取元素的方法无效的获取不到的.可以用以下的方法获取动态元素!假设我们现在需要获取网页动态添加的div元素,并绑定click事件! 在jQuery1.9版本以前,可以用live方法: $('div').live('click' function () { // }); 在jQuery1.9版本以后,live方法被删除,用on方法来代替: 如果你用这样使用on方法的话,那么