我试图根据元素是否存在将两个值中的一个赋值给变量。我认为这样的事情应该可以...如果元素存在,则指定不同的值
$optsH = function(){
if (jQ('#options').length > 0) {
return jQ('#options').outerHeight();
} else {
return 0;
}
}
...但没有。
我知道这应该是简单的,但它是一个漫长的一天。
我试图根据元素是否存在将两个值中的一个赋值给变量。我认为这样的事情应该可以...如果元素存在,则指定不同的值
$optsH = function(){
if (jQ('#options').length > 0) {
return jQ('#options').outerHeight();
} else {
return 0;
}
}
...但没有。
我知道这应该是简单的,但它是一个漫长的一天。
很确定你只是忘了打电话给你的功能;
$optsH = (function(){
if (jQ('#options').length > 0) {
return jQ('#options').outerHeight();
} else {
return 0;
}
})()
如果你想,虽然优化它,这是一个更好的方法:
$optsH = jQ('#options').outerHeight() || 0;
你能做到这样
$(document).ready(function(){
$('#input_field').val($('#options').length > 0 ? $('#options').outerHeight() : 0);
});
它在哪里返回结果? – zerkms 2013-03-21 00:45:19
固定,:)对不起,我有点匆忙:) – 2013-03-21 14:53:34
如果选择没有元素相匹配的outerHeight
调用将返回null,而空是falsy,所以你应该能够做到这样的事情:
$optsH = jQ('#options').outerHeight() || 0;
(我无法立即进行测试,但我敢肯定它应该工作)
它完美地工作,但戴夫已经提供了相同的答案。 – verism 2013-03-21 00:50:56
“不”是什么?什么是'.length()'? – zerkms 2013-03-21 00:42:06
我没有任何错误,但我也没有得到分配的值。我的坏 - 它应该是'.length' – verism 2013-03-21 00:42:34
你正在分配一个函数的变量 – zerkms 2013-03-21 00:42:54