使用Jquery,是否有一些方法可以在针对空元素列表调用时使val()返回空字符串而不是'undefined'?
例如,我有这段代码:
var x = $('#my-textbox-id').not('.watermark').val();
我的想法是想要获取文本框的值,但如果当前显示水印(我不想要水印值,我想要一个空字符串!)。
选择器有效,但我不想'未定义' - 我想要一个空字符串''。
答案 0 :(得分:9)
您可以撰写(...).val() || ""
。
仅用于文本字段;它还会将false
或数字0
替换为""
。
答案 1 :(得分:2)
或者您可以使用$.trim
来获得预期结果。
示例: $.trim($('#my-textbox-id').not('.watermark').val())
答案 2 :(得分:1)
怎么样:
var x = $('#my-textbox-id').hasClass("watermark") ? "" : $('#my-textbox-id').val();
答案 3 :(得分:0)
var x = $('#my-textbox-id').not('.watermark').val() == undefined
? ''
: $('#my-textbox-id').not('.watermark').val();