我的简单javascript代码中有错误。
HTML
<input type="text" name="txt" id="txt" value="Hello" />
的JavaScript
<script type="text/javascript">
var txt = document.getElementById('txt').value;
var txt2 = (null == document.getElementById('txt2').value)? "" : document.getElementById('txt2').value;
alert(txt2);
</script>
我知道名为txt2的元素不存在,但我希望如果元素不存在,变量txt2将被赋予默认值
答案 0 :(得分:2)
var txt2 = document.getElementById('txt2') ? document.getElementById('txt2').value : "";
答案 1 :(得分:1)
您将null与txt2的值进行比较,该值不存在。这可能有用......
<script type="text/javascript">
var txt = document.getElementById('txt').value;
var txt2 = (null == document.getElementById('txt2')) ? "" : document.getElementById('txt2').value;
alert(txt2);
</script>
答案 2 :(得分:1)
您只需要检查document.getElementById()
返回的值的truthiness。
var txt = document.getElementById('txt').value,
txt2_element = document.getElementById('txt2'),
txt2 = txt2_element ? '' : txt2_element.value;
alert(txt2);
答案 3 :(得分:1)
你可以试试这个:
var txt2Element = document.getElementById('txt2');
var txt2 = (txt2Element != null) ? txt2Element.value : '';
答案 4 :(得分:0)
不要检查值是否为null
,而只检查元素是否为空:
var txt2 = ( document.getElementById('txt2') === null )? "" : document.getElementById('txt2').value;