请教jquery.empty()后面的链接都无效

falemis 2011-06-01 11:12:29
$(function(){

//动态向后台取数据
$("#ParkMore").mouseover(function(){
$.post("ParkMore.ashx",{"active":"jkj"},function(data,status){
if(status =="success"){
var ul1 =$("#ParkMore ul[class=ParkMore]").empty(); var objData = $.parseJSON(data);
$(objData).each(function(){
var li = $("<li class='MenuParkName'><a href='ParkDetail.aspx?ParkId="+this.ParkId+"'>"+this.ParkName+"</a></li>"); $(ul1).append(li);
});
}
});
});
})


var ul1 =$("#ParkMore ul[class=ParkMore]").empty();
如果把empty()去掉, var li = $("<li class='MenuParkName'><a href='ParkDetail.aspx?ParkId="+this.ParkId+"'>"+this.ParkName+"</a></li>")这里面的<a>就可以用了!!
请问这是什么原因呢?
我需要的是,先把原来的数据清空,再添加新的数据?
在线等....
...全文
167 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zell419 2011-06-01
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQeury Empty()测试</title>
</head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#ParkMore").mouseover(function(e){
if($(e.target).is("a")) return ;
else {
$(this).empty();
var li = "<li><a href='http://www.hao123.com'>hao123</a></li>";
$(this).append(li);
}
});
})
</script>
<body>
<ul id="ParkMore">百度</ul>
</body>
</html>

看看 。
falemis 2011-06-01
  • 打赏
  • 举报
回复
如果不要empty().就可以.
但确实是要清除掉以前的数据的
zell419 2011-06-01
  • 打赏
  • 举报
回复
好像是冒泡了 。
falemis 2011-06-01
  • 打赏
  • 举报
回复
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQeury Empty()测试</title>
</head>
<script src="jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#ParkMore").mouseover(function(){
var ul1= $("#ParkMore");
$(ul1).empty();
var li = "<li><a href='http://www.hao123.com'>hao123</a></li>";
$(ul1).append(li);
});
})
</script>
<body>
<ul id="ParkMore">百度</ul>
</body>
</html>

这样测试,在empty()后,<a>链接都无效......
falemis 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lirenniao 的回复:]
JScript code

var li = "<li class='MenuParkName'><a href='ParkDetail.aspx?ParkId="+this.ParkId+"'>"+this.ParkName+"</a></li>";


直接用字符串吧。
[/Quote]

还是不行....
xs8577 2011-06-01
  • 打赏
  • 举报
回复
只是要删除ul里面数据的话,干嘛不用 html("") 试试?
lirenniao 2011-06-01
  • 打赏
  • 举报
回复

var li = "<li class='MenuParkName'><a href='ParkDetail.aspx?ParkId="+this.ParkId+"'>"+this.ParkName+"</a></li>";

直接用字符串吧。
zell419 2011-06-01
  • 打赏
  • 举报
回复
remove()肯定是不行的 那把ul1 都删除掉了 。
哎 挺奇怪的 。
falemis 2011-06-01
  • 打赏
  • 举报
回复
不论是用 remove()还是用empty()清空数据,后面的<a>链接都无效,
只要不用这二个函数,<a>链接就有效了!
请问是不是这二个函数,返回值是false吗?
falemis 2011-06-01
  • 打赏
  • 举报
回复
谢谢,
但按照二位说法,还是没用.
后面的<a>的链接还是无效
lirenniao 2011-06-01
  • 打赏
  • 举报
回复
var ul1 =$("#ParkMore ul[class=ParkMore]").empty();
var ul1 =$("#ParkMore ul[class=ParkMore]");
zell419 2011-06-01
  • 打赏
  • 举报
回复
var ul1 =$("#ParkMore ul[class=ParkMore]");//赋值
ul1.empty()//清空
.......
$(ul1).append(li); //再添加
应该是这个原因吧 。一步步来 。
falemis 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hookee 的回复:]
$("#ParkMore").mouseover(function(){});
改成
$("#ParkMore").one("mouseover", function(){});
不需要一直触发mouseover
[/Quote]

真的是这样子.用$("#ParkMore").mouseover(function(){})和empty()后;无法触发后面的<a>链接..
hookee 2011-06-01
  • 打赏
  • 举报
回复
$("#ParkMore").mouseover(function(){});
改成
$("#ParkMore").one("mouseover", function(){});
不需要一直触发mouseover

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧