我们希望做载入后对载入的标签做css操作:
$("div").load(url);
$("div a").css("pointer-events","none");
以上从语法和语义上都是无可挑剔的,结果发现css并没有起作用。
分析原因:load是异步进行,所以上下两句几乎同时进行,这时候div中还没有a元素,当然无效果。
知道这个原理后,异步变同步的方法可以参考$.ajax来指定async = true|false同步或异步。
$.ajax比较好理解,功能也相对完整强大,那么load有没有同步的方法呢?
我们找到函数定义:
http://www.w3school.com.cn/jquery/ajax_load.asp
发现:$.load(url,data,function(response,status,xhr))支持回调函数,这时,我们只需要将两行合二为一,如下实例:
$(".logs").load(url,function(){$(".Article .title a").css("pointer-events","none")});
|