我試圖根據元素是否存在將兩個值中的一個賦值給變量。我認爲這樣的事情應該可以...如果元素存在,則指定不同的值
$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