看个jquery写法,有什么问题?

临摹 2014-01-27 10:29:16
//这是个在树形中根据href查找节点,并替换成新的href的函数
//jdjbNew:新节点id
//jdjbOld:旧节点id
function editJd(jdjbNew,jdjbOld){
//旧节点href
var nodehref_old = "zdList?jdjb=" + jdjbOld;
//新节点href
var nodehref_new = "zdList?jdjb=" + jdjbNew;
//在树形DIV中查找a href=nodehref_old的链接(关键是这句进不去,这样写有问题吗?有别的写法吗?)
//这里虽然用了each,但只会循环一次,因为这个href肯定只会出现一次
$("#treeDemo").find("a[href='" + nodehref_old + "']").each(function(){
//调换成新的链接
$(this).attr("href",nodehref_new);
});
}
...全文
161 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
写法虽然没有什么问题,但是拿href作为条件来查找元素 本身就不靠谱,特别是相对路径在各大浏览器的解析也是不一致的
夜雨_Jason 2014-01-27
  • 打赏
  • 举报
回复
没有问题的呀
<div id="treeDemo">
	<!-- 第一个a将会连接到zdList?jdjb=id2 -->
	<a href="zdList?jdjb=id1" id="id1">id1</a>
	<a href="zdList?jdjb=id2" id="id2">id2</a>
</div>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
function editJd(jdjbNew,jdjbOld){
    //旧节点href
    var nodehref_old = "zdList?jdjb=" + jdjbOld;
    //新节点href
    var nodehref_new = "zdList?jdjb=" + jdjbNew;
    //在树形DIV中查找a href=nodehref_old的链接(关键是这句进不去,这样写有问题吗?有别的写法吗?)
    //这里虽然用了each,但只会循环一次,因为这个href肯定只会出现一次
    $("#treeDemo").find("a[href='" + nodehref_old + "']").each(function(){
        //调换成新的链接
        $(this).attr("href",nodehref_new);
    });
}
editJd("id2","id1");
</script>

87,907

社区成员

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

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