jquery生成的元素无法应用css样式
function getPrice(quantity) {
$.ajax({
async:false,
type:"POST",
url:"price.php",
data:"quantity=" + quantity,
success:function(price) {
$("#price").html(price);
}
});
$("#price a").eq(0).trigger("click");
}
如上,现在这个ajax可以成功,完成后#price里的内容已经变成了<a href="#">111</a><a href="#">222</a><a href="#">333</a>,这都完全正确,符合预期。
但是赋给这几个链接的样式没有显示,在页面里原来的链接是有样式的,点击也有反应。
通过ajax显示的这几个无法应用上css样式,点击也无反应,更不用说上面最后一句模拟点击了。
这样的情况遇到好几次了,没找到原因,求高手赐教。谢谢。
补充:这是链接的点击
$("#price a").click(function() {
$("#showallprice").html(loadding);
$("#price a").removeClass("selected");
$(this).addClass("selected");
var price = $(this).text();
getAllPrice(price);
return false;
});
现在那个添加class都无效,针对ajax返回的内容。
追问:谢谢。
就是想触发,不跳转。非常感谢,找到原因了。
用了live()方法替代直接的click()。谢谢,只能这样吗?那点击问题属于什么情况?加载回来的也和原来页面上的不一样吗?不是,应该也属于普通内容和ajax加载内容区别的问题。因为页面上原有的点击没问题,看看有没有思路?
答案:你AJAX生成的a标签里href="#" ?
PS:trigger("click")触发的是onclick事件,不能触发链接
其他:你页面以前的样式对他们是不起作用的 因为你的链接是页面加载完后人工添上去的 要另外给他设样式。如果你想要让页面所有的链接都统一样式,那么:
success:function(price) {
$("#price").html(price);
$("a").css("",""); //设置样式即可
}
上一个:怎样用CSS使层的四个边角变的圆滑一些
下一个:CSS表格问题