Jquery:有没有办法让val()为空列表返回一个空字符串而不是'undefined'?

时间:2010-12-21 00:42:54

标签: javascript jquery

使用Jquery,是否有一些方法可以在针对空元素列表调用时使val()返回空字符串而不是'undefined'?

例如,我有这段代码:

var x = $('#my-textbox-id').not('.watermark').val();

我的想法是想要获取文本框的值,但如果当前显示水印(我不想要水印值,我想要一个空字符串!)。

选择器有效,但我不想'未定义' - 我想要一个空字符串''。

4 个答案:

答案 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();