搜索
javascript - js中if使用问题
PHP中文网
PHP中文网 2017-04-10 16:22:34
[JavaScript讨论组]

如题,我想判断a是否是undefined,下面的代码却无效,请问哪里出错了?

$(document).ready(function(){
$('img').each(function() { var a = $(this).attr("alt");
if (a != undefined) {
    $(this).before('') ;}); 
    } else {
$(this).before('<span class="caption">' + a + "</span>") ;}); 
            }
});
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
ringa_lee

图像的alt属性在没有显式赋值的情况下则该属性为null,不是undifined

PHP中文网

$(this).before('') ;});
$(this) 指的是全局对象

ringa_lee

直接

if (a) { //a!=undefind 有误
    $(this).before('') ;}); 
    } else {
$(this).before('<span class="caption">' + a + "</span>") ;}); 
            }
});
PHPz

有2个问题需要注意
1是a的值,当你不确定a是多数时,你可以先在控制台打印出来看看是什么,或者直接

if(a) {
    ...
}

// 这里隐式调用了Boolean()方法
if(!a) {}

第二个问题,回调函数中的this指向,并不是指向调用它的那个对象,在回调函数中,this指向一般都在回调函数内部进行了规定,因此在回调函数中要慎用this

// each中,this代表当前被遍历的元素
$('img').each(function() {
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号