在用VS写JS 这是什么错 不能进行等值判断 求助

图片说明

  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一样,对单双引号不作区分