为什么append后里面元素无法使用jquery
时间:2009-04-15
来源:互联网
$(function() {
var html='<p>hello</p>';
$("div a").click(function(){
$("#text").append($(html));
});
$("p").click(function(){
$(this).css("background-color","#333");
});
});
<div><a>this is a text</a></div>
<div id="text"></div> //[b][size=3]为什么append后里面元素无法使用jquery[/size][/b]
<p>hello everyone</p>
作者: jhcwgy 发布时间: 2009-04-15
作者: zcm211 发布时间: 2009-04-15
$("p").click(function(){
$(this).css("background-color","#333");
});
是监听不到的 $(html)); 改为(html)
$(function() {
var html='<p>hello</p>';
$("div a").click(function(){
$("#text").append(html);
$("p").click(function(){
alert('sdf');
});
});
});
作者: fudg1211 发布时间: 2009-04-15
错在<p>hello</p>是异步过来的元素
$("p").click(function(){
$(this).css("background-color","#333");
});
是监听不到的 $(html)); 改为(html)
.......
没看明白,上面的语句可以执行啊,解释下为什么是异步过来的?
作者: zcm211 发布时间: 2009-04-15
你在重新测测
我理解异步过来数据就是本身body里面没有 后通过js调用而产生新的元素 就如同ajax
监听异步过来的元素一定要把js代码放在元素的下面 这样才能监听的到
作者: fudg1211 发布时间: 2009-04-15
不知道$(html)里面是什么东西,用write打印输出“[Objec object]”
楼主的提问里哪里用到异步了?我咋没看到...
作者: zcm211 发布时间: 2009-04-15
$(function() {
var html='<p>hello</p>';
$("div a").click(function(){
$("#text").append($(html));
});
$("p").live("click",function(){
$(this).css("background-color","#333");
});
});
作者: gordianyuan 发布时间: 2009-04-15
这个时候应该用live方法
$(function() {
var html='<p>hello</p>';
$("div a").click(function(){
.......
看了LS的回复,live函数和直接使用选择器有设么区别呢,手册没有写。
作者: zcm211 发布时间: 2009-04-15
但在下面情况还有些问题(不知大家用过jquery ui没有?)
<!doctype html>
<html lang="en">
<head>
<title>text</title>
<script src='javascript/jquery-1.3.2.min.js' type="text/javascript"></script>
<script src="javascript/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="css/jquery-ui-1.7.custom.css"/>
<script type="text/javascript">
$(function() {
$("#tabs").tabs();
var html='<div id="tabs"><ul><li><a href="">ajax1</a></li></ul></div>';
$("div a").live('click',function(){
$("#text").append($(html));
});
});
</script>
</head>
<body>
<div><a>this is a text</a></div>
<div id="text"></div> //没能显示应有样式
<div id="tabs">
<ul>
<li><a href="">ajax2</a></li> //显示了应有样式
</ul>
</div>
</body>
</html>
作者: jhcwgy 发布时间: 2009-04-15
作者: gordianyuan 发布时间: 2009-04-15
var html='<p>hello</p>';
$("div a").click(function(){
$("#text").append(html);
$("p").click(function(){
$(this).css("background-color","#333");
});
});
});
这段代码还不能解决你问题啊

作者: fudg1211 发布时间: 2009-04-15
作者: baljeans 发布时间: 2009-04-18
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28