this.value与$(this).val()

this.value与$(this).val()

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>习题</title>

</head>


<body>

    <input type="text" value=""><span></span>

    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>

    <script>

    $("input").focus(function(){

        $("span").text("请输入用户名");

        $(this).css({"border-color":"blue"});

    });//此处写代码

    $("input").blur(function(){

        $(this).css({"border-color":"red"});

        if(this.value==""){

            $("span").text("用户名不能为空");

        }else{

            $("span").text("");

        }

    });  

    </script>

</body>


</html>



在if语句中使用$(this).val()可以实现 ,使用this.value怎么也可以实现,两者之间用法有什么限制吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2019-06-05 13:38:56

你好,代码中设置的不完善:

当没有内容的时候边框是红色的,有内容的时候边框变为绿色即可,参考修改:

http://img1.sycdn.imooc.com//climg/5cf7547f00010d5008330510.jpg

两种方式的区别:

this是DOM对象,$(this)是jquery对象,可以输出看看:

http://img1.sycdn.imooc.com//climg/5cf755050001f3d806630078.jpg

value是js中的属性,val()是jquery中的方法,所以DOM对象要使用js属性,jq对象要使用jquery方法,两者不能混用:

this.value或者$(this).val()

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师