
JS
身为后端必须要懂一些前端,代号:盲仔!
铁柱同学
博主从事后端开发已然八年,然入行越久越深感知识无限,学海无涯,非一时之功。故编写博客,用于自省记录,也遵循前辈们的教导,希望可以帮到更多的人。愿各位都能勇攀高峰,顺利成为大佬!奥利给!
展开
-
jquery/css需要记录的小知识(持续补充)
一、前言2020年的第一篇了,奥利给!这部分主要是汇总一些平时遇到的jquery和css小知识,作为笔记使用。二、正文1、jquery模拟select下拉框的选择事件,并传参数:self.selectArray[j].val(value的值).trigger('change');2、jquery正则匹配去掉字符串中的+号:str = str.replace(/\+/g, " ")...原创 2020-03-09 21:00:50 · 1252 阅读 · 16 评论 -
jquery的四层联动插件jquerySelect
一、前言 关于这个插件,以前是分享过一次的,奈何在这次的使用中又一次的遇到了不少坑,而且上次分享也少了js下载的步骤,所以这次补齐一下吧。可能有人会觉得不就是四层联动嘛,框架里面都带的有,可是老铁啊,我们的项目没前端框架,依然是jquery的天下。。多级联动下拉菜单插件:jquery.cxselect.js二、引入步骤&...原创 2020-01-19 21:07:19 · 3582 阅读 · 12 评论 -
ajax成功进入success但是获取不到返回值
一、前言 最近做前端的时候,发现个奇怪的问题,ajax获取不到返回值了,问题是还是会到success中,也是可以正常打印的,就是没有response,奇怪。二、正文1、首先是不走success的问题 不走success且请求是200的话,大部分都是返回...原创 2019-09-08 22:49:15 · 10197 阅读 · 2 评论 -
通过jquery获取td下的input标签的值,并且改变onclick的参数值
一、背景 这几篇博客貌似我都是记在笔记本上超过一个月了,手动捂脸!我自己看着都有点陌生,行吧,就当重温一下当时碰到的问题了。 背景是要获取table标签里面的td下的input的对象,并修改它的onclick方法的传参。这个问题难点就在于table表格很大...原创 2019-04-09 17:08:23 · 5628 阅读 · 0 评论 -
jquery的contains如何实现精准匹配
一、背景 博主这边的背景是,在一个JS的循环中,要通过匹配option的值来给select下拉框加上默认选中效果。这种涉及到属性匹配的,最适合的就是jquery的contains选择器了。当然,大家也可以用这个选择器来匹配html元素的其他属性,都是可以的。关于contains:参考文档:http://www.w3scho...原创 2019-04-09 16:56:29 · 4972 阅读 · 10 评论 -
console.log(text)打印不出来的值,用console.log(text.length)却打印出来长度为1?
一、背景 好久没写博客了,最近时间实在是紧的不行,忙中偷闲记录一个小问题先。大概描述就是像题目中说的那样,用console.log打印结果和实际的length不同,以为是遇到鬼了,实际呢,我还是太年轻。如图:二、找问题过程1、 使用typeof看看 发现类型都是string的2、 用console.log(JS...原创 2019-03-13 18:49:00 · 4583 阅读 · 0 评论 -
jquery的sortable拖拽排序插件,顺序没发生改变则不请求
一、前言 前几天刚做完排序,本来以为没什么问题的,结果今天被告知要优化一下。。功能上是没问题,但是有一些小细节需要优化。比如我做的是每次拖拽完成之后,都在stop方法里面请求ajax保存顺序。但是要考虑到,有时候用户拖拽之后,又把这个拖拽的部分放回原地,相当于并未发生顺序改变。那么此时发请求就不是很合适的了。以下为大佬原话:...原创 2019-02-26 16:43:55 · 2144 阅读 · 4 评论 -
ajax请求成功之后,自动打开一个空白页面,并打印出了返回内容
一、问题描述ajax请求成功之后,自动打开一个空白页面,并打印出了返回内容,返回值是规定的success内容:{code: "200", msg: "请求成功"}。1、不走success方法,只走error方法2、自动打开一个空白页面,并打印出了返回内容二、解决过程这就很奇怪了,ajax对于我们来说是在是太熟悉了,但自动打开新的空白页,还是第一次朋友。百思不得其解,一步步找问题吧。1...原创 2019-02-22 11:13:00 · 4212 阅读 · 2 评论 -
浏览器复制粘贴以及手机端webview复制粘贴
一、浏览器赋值粘贴1、document.execCommand这部分参考文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand咱们再浏览器中使用的复制大部分都是用的这个原理2、例子://这是一个点击方法,放到复制按钮上即可 function copyArticle1() { cons...原创 2018-10-15 15:13:28 · 6967 阅读 · 0 评论 -
分享一款jquery的日期插件
一、前言      关于日期插件,大家平时用的都不少,但大多数都是ui框架自带的,或者说样式不太好看的插件。博主最近发现了一个很不错的日期插件,能满足绝大多数需求,看着也顺眼,这边分享一下。二、日期插件1、插件展示插件的用法极其简单,直接引入css和js文件既可。也可以用npm安原创 2018-08-29 16:31:26 · 2238 阅读 · 4 评论 -
jquery实现点击浏览器后退,上一页面自动刷新
一、需求 比如我们要从列表页进入到详情页,在详情页修改完数据之后,此时若是返回列表页,页面展示的内容也应该和详情页修改之后的内容保持一致才是。如果是location.href=''跳转到列表页的,则可以实现正常刷新。但如果是点击浏览器的后退按钮呢? 大...原创 2018-08-24 18:31:40 · 8264 阅读 · 6 评论 -
jquery改变html元素的样式,给input标签赋值,onclick中文传参问题等
一、前言最近又是用jquery比较多,很多东西都忘记了。一边使用一边学习吧,这边记录一下。二、Jquery改变html的样式 $('#tanchuang').css('display','block'); 这部分,先找到要修改样式的那个元素,然后通过css()方法改变样式。第一个参数是样式名称,第二个参数是...原创 2018-08-12 22:33:52 · 2121 阅读 · 0 评论 -
Ajax的优缺点以及异步和同步的区别
一、背景 上午时候同事问我这两个问题,其实大家都知道ajax的优点是不刷新页面加载,用户体验好,缺点是不安全之类的。但是并不能用很专业的术语来表述这些问题。这里记录一下。二、Ajax的工作原理1、什么ajax AJAX全称为“Asynchr...原创 2018-04-27 14:39:34 · 1564 阅读 · 0 评论 -
JS数组去重之利用set数据结构去重
在常用的JS去重方法中,都是通过循环遍历来去重,难免麻烦了不少。这边发现ES6中有更加方便的去重方式,记录一下。1、set数据结构ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复的值。 这边就是利用set没有重复值的特性,进行去重:具体请参考博客,讲的非常清晰function dedupe(array){ return Array.from(n...原创 2018-03-15 17:27:18 · 10962 阅读 · 0 评论 -
JS的表单序列化,数组去重,判断数组是否重复等方法
一、背景本篇主要是记录一下JS中常用的工具方法。包括表单序列化,判断数组是否重复,数组去重等。做个笔记二、工具方法1、表单元素序列化为对象 public function serializeObject(form) { var o = {}; $.each(form.serializeArray(), function(index) { ...原创 2018-02-06 18:14:15 · 773 阅读 · 0 评论 -
ajax提交表单,导致浏览器卡死
一、背景 这是刚刚遇到的一个问题。说来也奇怪,打开浏览器的调试模式,点击ajax的提交按钮,然后console和network都毫无反应,浏览器也卡死了,网页关不掉。 如图所示,点击按钮之后,整个页面毫无反应,然后此时浏览器已经成功卡死。我听到电脑店额散热扇在疯狂的嚎叫着,电脑使用内存也在稳步增长。 然后我又试了几次,发现在刚点击按钮的时候,是可以关掉原创 2018-01-16 19:11:33 · 2147 阅读 · 0 评论 -
css,js缓存,不能立即响应
一、背景 平时在写代码的时候,经常会遇到这个问题。如果css和js都在同一个页面的话,我们直接在页面中调试就可以。但是当引入css和js文件的时候,修改后的文件往往存在缓存问题,无论如何刷新浏览器,新改动的内容迟迟不能响应。实在是烦不胜烦。二、解决方案1、引入的css文件缓存//这里的关键在于在引入文件后面加一个随机数,这样每次引入文件的随机数都不一样,实时刷新c原创 2018-01-10 21:47:17 · 793 阅读 · 0 评论 -
chrome浏览器调试手机端h5页面
这个是常识性的问题了。奈何我之前确实是不知道。只知道用F12来调试PC端的页面,这次经过同事指点,终于知道为啥人家在浏览器调试手机端页面,显示的大小都是手机端的。 步骤:1、打开F122、如果所示点击咱们平时寻找网页的DOM节点,都是用的第一个。 第二个就是专门用来调整手机端页面的。先点击这个按钮。3、选择适配的手机型号 按照2操作点击之后,我们可以看到这个界面。箭头的位置是一个下拉选原创 2017-12-27 22:41:31 · 24132 阅读 · 2 评论 -
下拉选项框选中之后,通过ajax请求服务器,填充页面其他元素的value值
一、背景 在后台添加产品,有一些东西需要提前在数据库获取,此时,运营显然是不知道该如何操作的,我们需要做的就是方面运营人员经营后台,把需要用到的字段直接查出来,显示在页面上。如图: 这是需求图二、前端代码(1)给下拉框加onchange()方法 <select name="type" id="type" onchange="select()"> <o原创 2017-11-27 23:47:09 · 2557 阅读 · 0 评论 -
jquery中的switch用法及注意问题
在需要用到jquery的switch方法时,半天没调试出来。按理说是和php的switch方法差不多才对啊,后面才发现switch的条件必须和每个case表达式严格比较。一、用法://先获取选项框的选中value值 var type = $('select option:selected').val(); //alert(type) 结果为:0 1 2 var product =原创 2017-11-27 23:10:40 · 10217 阅读 · 2 评论 -
jquery取值,赋值,以及下拉框获取选中value值
太长时间不用基础的jquery语法,该忘的,不该忘的,都忘的差不多了。这里重新拾起一些简单的jquery知识。一、jquery获取元素的值(1)通过name属性获取元素的value值//假如是获取input文本框的value值 $("input[name='name']").val();(2)通过id获取元素的value值//product是id的值//获取值用val(),此处和js的value原创 2017-11-27 23:02:42 · 6490 阅读 · 0 评论 -
多级联动下拉菜单插件:jquery.cxselect.js
话说这个插件,我也用了挺久了,但一直对其具体的作用不是很懂,只知道可以利用 ajax来请求数据,实现类似于多级联动的效果。后来百度了下,在此做个总结吧。 下面是以一名php程序员的角度来分析的。。。可能和前端同学分析的角度不大一样,见谅。一、jquery.cxselect.js(1)定义:cxSelect 是基于 jQuery 的多级联动菜单插件,适用于省市、商品分类等联动菜单。 列表数据原创 2017-10-17 23:47:21 · 7079 阅读 · 2 评论 -
手机号和邮箱正则匹配
1、最简单的手机号正则: ^1[0-9]{10}$ 这个是最简单的那种,只验证是11位的,且以1开头的数字。2、稍微麻烦的手机号正则 ^1[3|4|5|7|8][0-9]{9}$ 这个比第一个麻烦,但相应的也比较精确,包括目前的三大运营商的绝大部分手机号3、最精确的手机号正则^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(原创 2017-08-30 16:13:02 · 1519 阅读 · 0 评论 -
hbuilder入门之基本配置(php)
1、去Hbuilder官网下载最新的Hbuilder,安装即可。 2、打开Hbuilder,会发现有个HelloHbuilder文件,里面有个lession1.text,这个文件是属于入门文件,可以仔细看看。 3、开发APP需要:文件–》新建–》移动APP–》填写项目名称(hbuilder),选择mui打开即可。 4、打开项目hbuilder,里面的css,js,fonts文件夹都不用管,值存原创 2017-08-16 22:39:20 · 11315 阅读 · 0 评论 -
jquery实现点击a链接,跳转之后,该a链接处显示背景色
做项目的时候遇到这个问题,,按理说只要是会套模板的,就不该出现这种低级问题。然后我的后台并没有模板,,并且我的js,jquery水平是小学水平,所以这个也困扰了我将近一下午。在此总结一下,分享给大家。分享使我快乐!!! 1. 一、请看代码,容我分析一下 1、首先,menu代表我的菜单列表,a标签即是点击的链接。大致思路是先获取a链接的对象,然后进行循环,先取得a链接的h原创 2017-08-16 16:50:01 · 3669 阅读 · 0 评论 -
Hbuilder实用技巧
1、 Q:怎么实现代码追踪? A:在编辑代码时经常会出现需要跳转到引用文件或者变量定义的地方,HBuilder提供了一个非常好用的代码追踪功能, 只需要按住Alt+鼠标左键即可实现追踪。图示:Hbuilder编辑器怎么用 使用方法2、 Q:编辑器怎么实现分栏?A:HBuilder编辑器分栏功能可以实现左右分栏和上下分栏以及组合分栏。1、左右分栏实现:鼠标点着编辑器选项卡往最右边拖动 到最小化转载 2017-08-15 17:10:20 · 4976 阅读 · 0 评论 -
js调试之console.log()
俗话说的好,不会前端是phper不是好的php,可是我这对前端真的是一窍不通,连基础的ajax都差点不会写。调试也花了不少时间,因此在这里记录一下。 一、console.log()的定义console.log()相当于在浏览器的控制台打印相关的信息,并不会影响程序的进程,这点就和alert()形成了鲜明的对比。alert()相当于程序杀手,调试的时候是在是不好用。 *原创 2017-08-15 16:57:17 · 2040 阅读 · 0 评论 -
window.location获取url各项参数详解
主要包括对于window.location各项参数的解析,比较全面的了解window.location转载 2017-08-09 09:20:08 · 3670 阅读 · 0 评论 -
关于js选项卡的一些问题
题主昨晚突然想做个选项卡,没错,就是很简单很简单又很小白的选项卡。。在题主把相应的代码都敲出来的时候,麻烦就也来了。。 Js一直报错,“Uncaught TypeError: Cannot set property 'className' of undefined“,捕获错误,className属性未定义,题主就看着这个错误信息使劲找bug,然后2个小时过去还是没找到。上代码:原创 2017-03-06 09:49:41 · 649 阅读 · 0 评论