jQuery 3.3.1版本attr方法接收3个参数时的具体作用是什么?
关于这段jQuery代码的实际作用说明
- 首先明确结论:jQuery 3.3.1官方原生的
attr()方法没有支持第三个参数的重载逻辑,所有额外传入的第三个及之后的参数都会被直接忽略,不会执行。 - 这段代码目前的实际运行效果只有一个:给ID为
myiframe的iframe元素设置src属性为变量url的值,你写在第三个参数位置的回调函数完全不会触发,属于无效代码。
前人写这段代码大概率是语法混淆:jQuery的
load()、$.ajax()等方法支持传入回调作为最后一个参数,写代码时错把这套逻辑套到了attr()方法上。
- 如果你原本需要实现「iframe的src加载完成后绑定window的unload事件」的逻辑,需要改写成合法的jQuery语法:
$("#myiframe").attr("src", url).on('load', function () { $(window).on("unload", function () { // Some function stuff }); });
内容的提问来源于stack exchange,提问作者Tnt80
相关产品推荐
相关产品推荐

