Jquery 怎么获取动态生成的html元素,然后给其中的元素添加样式?

这是其中界面的js代码,主要去了异步去后台加载数据,然后动态写li元素及里边的a元素
$.ajax({
url: "home!subMenu",
typ:"post",
datatype:"json",
data:{"fatherId":${request.fatherId}},
success:function(data)
{
if(data.success)
{
var json = eval(data);
var menu = json.tree;
var html ="<li class='space'></li>";
$.each(menu,function(i,item)
{
html=html+"<li><a href='javascript:;' hint='merchant' action='"+item['url']+"?fatherId="+item['fatherId']
+"' class='merchantmenu'>" +item['text']+"</a></li>"
});
$("#merchantSubMenu").append(html);
}
else
{
art.dialog(data.message);
document.location.href="home!gotoIndex";//跳转到首页
}
}
});

我现在想要获取这个li列表的第一个元素给添加样式。
谢谢大家!
全部代码

第1个回答  2014-09-02
放到 $("#merchantSubMenu").append(html);后面即可!追问

这样也可以实现的!没有分给你啦,真诚的感谢!另提前祝中秋节快乐

第2个回答  2014-09-02
你是要给append上去的html里面的第一个li加样式对吗?追问

嗯,是的,但是现在我通过这样的方式
$('a[class="merchantmenu"]').each(function(){
alert("test");//这里进不来。。。。
});
each循环进不去。

追答

你可以直接在这里做判断。
$.each(menu,function(i,item)
{
if(i == 0){
html=html+..........
}else{
html=html+"" +item['text']+""
}

});

你后面写的当然是进不去的,因为ajax是异步的

本回答被提问者采纳
相似回答