如何给<a></a>添加id属性并动态赋值

大王叫我来巡山 发布于 2012/05/12 14:10
阅读 8K+
收藏 0

ul += '<li>' + '<a>' + jsons[i].cname + '</a>' + '</li>';

我是通过JQ动态生成ul的,那我现在想动态赋值给<a>的id。

 

那我就尝试这样做了:

ul += '<li>' + '<a id="jsons[i].cid">' + jsons[i].cname + '</a>' + '</li>';

PS:jsons[i].cid是有值的,这样下来的结果,在HTML里面显示成这样了

 

<ul>
   <li>
      <a id="jsons[i].cid">上海</a>
   </li>
   <li>
      <a id="jsons[i].cid">北京</a>
   </li>
   <li>
      <a id="jsons[i].cid">广东</a>
   </li>
</ul>

加载中
0
xu81.com
xu81.com
//jquery的语法
var $ul = $("<ul>");
$.each(json,function(i,item){
    $ul.append(
        $("<li>").append(
            $("<a>").attr("id",item.id).append(item.name)
        )
    );
});

xu81.com
xu81.com
回复 @大王叫我来巡山 : 饿,手误,抱歉。
大王叫我来巡山
大王叫我来巡山
原来是你的function拼写错误啦~~:D
大王叫我来巡山
大王叫我来巡山
你这段代码,老是提示missing ) after argument list
0
ousinka
ousinka
ul += '<li>' + '<a id="'+jsons[i].cid +'">' + jsons[i].cname + '</a>' + '</li>';
0
太阳神
太阳神

ul += '<li>' + '<a id="'+jsons[i].cid+'">' + jsons[i].cname + '</a>' + '</li>';

注意引号!

0
Ryze_Mr
Ryze_Mr

建议用

document.createElement("")

appendChild

这种方式来做!

大王叫我来巡山
大王叫我来巡山
为什么用这种方式来做呢?我初学JQ,不是很懂啊,请指教!
0
大王叫我来巡山
大王叫我来巡山

我针对这个动态创建的ui-li下面的a链接,写了一个脚本。当a链接触发click事件的时候,弹一个alert

代码如下:

 

<script type="text/javascript">
		$("#clist>ul>li>a").click(function(){
			
			alert(11);
		});
	</script>

可是很奇怪,始终都不会弹。

那我又换了个方法试试,不动态创建ul-li-a而是在html里直接写,这个时候就会弹alert了。

这是为什么啊?

是不是当执行这段脚本的时候,发现ul>li>a还不存在!然后就……………………

赵渊
赵渊
alert(11); 浏览器应该会报错
赵渊
赵渊
alert("11"); 才行
0
大王叫我来巡山
大王叫我来巡山
我知道了,需要用live处理一下!!!!
0
Jason阿坚
Jason阿坚
cname知道连接,id就不知道了?
0
0
赵渊
赵渊
ul += '<li>' + '<a id="' + jsons[i].cid + '">' + jsons[i].cname + '</a>' + '</li>';

这样才行
返回顶部
顶部