JavaScript 判断网页是否存在某ID元素

JavaScript 判断网页是否存在某ID元素

  • 零弈社区
    管理员

    今天做输入校验时,发现文章页也密码重设页的提交按钮都id都是submit,如果不做区分,在全局js代码加入校正,则会出现逻辑错误,或者要重新组织复杂逻辑。那么在点击按钮之后触发点击函数,在该函数中判断是否存在对应的元素,再对输入内容做校验即可:

    //for user password rest 密码重设页面
    //该提交按钮submit和文章页评论使用同一个名称,全局检测需检查是否存在对应的标签。
    
    $(function() {
      $("#submit").on("click",function() {
    
        if($("#pass-strength-result")[0]){
           $s=$("#pass-strength-result").text();
           if($s==""){
    		   alert("请检查输入!");
    		   return false;
    	   	};
    	}
    	 /*tested*/
    	 if($("#comment")[0]){ //如果存在该元素
    		 if($("#comment").val()==""){
    			 alert("请检查输入!");
    			 return false; //不提交到服务器端
    		 }
    		 
    	 }
    	  
    		
        });
    });

    if($(“#comment”)[0]) 这句话的意思就是如果存在id为comment的控件,就执行if括号内代码,否则不执行。Jquery会把所有id为comment的元素检查放到一个数组内,[0]是数组的第一个元素。一般严谨的命名,是不会在同一个页面,出现两个ID一样的元素。甚至涉及到数据或者业务逻辑的id,整个网站都不该出现同名元素,这是设计前端的基本技巧。

    这里再说下,引用了jquery函数,如果校验层 div里的文字,要使用text()函数获取其值,或者html()函数,校验文本框,则使用val()函数。以上操作经过验证。

    另外校验尽量都放在javascript,也就是网页前端来做,任何提交到服务器端的请求,哪怕是再小,都会消耗服务器资源,在网页前端使用javascript校正,可以大大减轻服务器负担,浏览器端执行js消耗点资源,对于客户端而言,可以忽略不计。

    目前我还没系统检查,或者做严格的输入校正,更没考虑优雅解决,先都凑合用的,如果使用wordpress做交互网站遇到类似需求,可以参考。代码都是在web插件里随意编辑的,缩进什么的都是随手打打,凑合着看。

正在查看 1 个帖子:1-1 (共 1 个帖子)

哎呀,回复话题必需登录。

首页门户导航动态群组
论坛首页创业帮自媒体挨踢协会
墓志铭疯人院中年危机搜索