if ($('#msgTxt').val ()== '') {
$('#msgTxt').val('#输入话题标题#');
}
非常简单的一句代码
我们先不管代码提示,来看看为什么这段代码运行不了。
首先根据jQuery的API,我们先来看看关于val()方法的描述:
val([val|fn|arr])
概述
获得匹配元素的当前值。
在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多选,将返回一个数组,其包含所选的值。
参数
valString V1.0
要设置的值。
function(index, value) Function V1.4
此函数返回一个要设置的值。接受两个参数,index为元素在集合中的索引位置,text为原先的text值。
arrayArray V1.0
用于 check/select 的值
示例
无参数 描述:
获取文本框中的值
jQuery 代码:
$("input").val();
参数val 描述:
设定文本框的值
jQuery 代码:
$("input").val("hello world!");
很可惜,API上并没明确的说明我们的代码为什么会运行不了。但是,**在示例中,jQuery用的是input元素而不是p元素或者是div元素,
这是为什么呢?**
那我们用p元素来尝试一下:
我们并不能获取到p元素的值
换成了input元素,我们再来尝试一下:
这次我们成功了!
我相信大家已经有所察觉了,val()方法其实获取的是元素的value值,而p元素本身没有value属性,所以并不能被设置。
如果我们想要修改p元素的内容呢?
那我们可以用html()、text()方法都可以。
VS版本2017 社区版
val(),你的括号呢
括号加上了 也不对 刚才 修改的时候给删了
把id = ‘msgText’那边的html代码贴出来看看
if ($("#MsgTxt").val().equals(""))
...
大哥
if(.value() ==“”)//双引号!!!!
js这样写没有问题的,不用管ide的提示,你改成下面这样看看是否还会报错
if (''==$('#msgTxt').val ()) {
$('#msgTxt').val('#输入话题标题#');
}
代码没有错误,可以尝试把单引号全部换成双引号,不是所有的语言都像js一样,对单双引号不作区分