我正在尝试将两个值中的一个赋值给变量,具体取决于元素是否存在。我认为这样的事情应该有用......
$optsH = function(){
if ( jQ('#options').length > 0 ) {
return jQ('#options').outerHeight();
} else {
return 0;
}
}
......但没有。
我知道这应该很简单,但这是漫长的一天。
答案 0 :(得分:2)
很确定你忘了打电话给你的功能;
$optsH = (function(){
if ( jQ('#options').length > 0 ) {
return jQ('#options').outerHeight();
} else {
return 0;
}
})()
如果你想优化它,这是一个更好的方法:
$optsH = jQ('#options').outerHeight() || 0;
答案 1 :(得分:2)
如果选择器不匹配任何元素,则outerHeight
调用将返回null,并且null为假,因此您应该能够执行以下操作:
$optsH = jQ('#options').outerHeight() || 0;
(我现在无法测试,但我很确定它应该可行。)
答案 2 :(得分:1)
你可以这样做
$(document).ready(function(){
$('#input_field').val($('#options').length > 0 ? $('#options').outerHeight() : 0);
});
答案 3 :(得分:0)
如果元素不存在jQ('#options')
将返回一个空集合,为什么要再检查?