html js jquery 常见问题汇总

1.外部默认的css会覆盖之前设置css属性,如果使用dom.className="" 的方法,所以如果不想覆盖之前的class,可以使用方法classList.add("")方法

代码示例:

var mainDiv=document.getElementById("mainDiv");

mainDiv.className="divStyle";
mainDiv.classList.add("divStyle");
2.已有html某个标签的引用,若使用jquery的选择器时,不用加引号直接使用即可
3.jquery通过serialize获得form表单中数据时,需要name属性
4.css 文字如何对齐到textarea顶端对齐:设置文字:vertical-align: top;
5.css中设置按钮的点击和悬停效果:
.publishBtn:active{ box-shadow: 0px 0px 50px #F60 inset; color:#fff; }
.publishBtn:hover { background:#385f9e; }
6.html已有某标签的父节点的引用(taskDescribeDiv),要获取其子标签的引用,可以利用childNodes方法;
var taskDescribeTextarea = taskDescribeDiv.childNodes[1];

var taskDescribeTextarea = taskDescribeDiv.children[1];
7.判断某个标签是否有焦点,可以使用document.activeElement属性。
8.延时函数setTimeout("shutdownUpTextarea(upTextarea)",100);第一个参数为要执行的函数名,注意传递的参数必须为全局变量,第二个参数为延迟多少毫秒后执行该函数。
9.通过dom引用获取标签名并判断,mainDiv.nodeName=="P",注意获取的为大写
10.获取某标签内所有html元素,包含其中的标签等,使用$(td[i]).html()方法
11.js替换字符串中指定字符
var str = 'abcadeacf';
var str1 = str.replace('a', 'o');//只替换第一个字符
alert(str1);  
// 打印结果: obcadeacf//加上/g替换所有字符
var str2 = str.replace(/a/g, 'o');//g是重点,如果替换的为‘/’,需要转义,吧/a/g替换为'/\//g'
alert(str2);  
//打印结果: obcodeocf,
12.获取某元素实际宽度:td[i].offsetWidth
13.对form表单中的元素进行修改时,要将修改的触发按钮<input id="submitBtn" type="button" value="提交">放在表单form标签外面才能生效,如果也放在表单里面,那么对其内容的修改有错误,原因未知。
14.html前端提交form表单的数据:注意其中的标签要有name,先将其封装为json对象格式,然后再提交到后台。

代码示例:

		var t = $("#mainForm").serializeArray();
        $.each(t, function () {
                postData [this.name] = this.value;
        });
        $.post("http://localhost:8099/userResumeAdd", postData, function (data) {
            alert(data);
        });
15.有时候需要给元素添加类样式,但又要保留之前的类,可以使用element.classList.add("类名");或者$(selector).addClass(class);
16.js替换字符串中全部对应字符的方法:
  		//创建replaceAll()函数
        String.prototype.replaceAll = function (FindText, RepText) {
            return this.replace(new RegExp(FindText, "g"), RepText);
        };    
17.js json字符串 转为json数组,注意str在输入时对“需要改为/"进行转义,可以考虑使用http://tool.chinaz.com/tools/jsonescape.aspx在线工具进行快速转义
var jsonObj = JSON.parse(str);//转换为json对象
18.注意复制重复代码时字符串等的微小差别,不然排除bug时费时费力,有时候往往只是写错的简单错误
19.js支持三目运算符,两者求大者
function max(first,second){
	return first > second ? first : second;
}

//例子
var userAcc = (sessionStorage.getItem("userAcc") === null) ? "123" : sessionStorage.getItem("userAcc");
20.jquery 判断 元素是否具有某个样式类class,使用函数hasClass(‘classname’)
21.当要使用jquery的text()方法进行对比时,要记得在后面加trim()方法,以去除其前后的空格。如果是使用类选择器选取多个标签元素,同时要逐个比较其text(),那么需要用for循环遍历所有元素的text()逐个比较。
22.修改了html页面引用的js文件,在调试网页时需要删除缓存,再调试,不然网页实际引用的js文件不会变化
23.js对象与json字符串互相转化
JSON.parse(clickContract)//字符串转对象
JSON.stringify(clickContract)//对象转字符串
24.jquery修改图片src
$("#contractImage").attr('src','image.png');
或
$("#contractImage").prop('src','image.png');
25.js函数参数可以直接传递undefined
26.JS数组添加元素的三种方法
1、push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
2、unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
3、splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

参考:
https://www.cnblogs.com/willingtolove/p/10957669.html#_label2

发布了68 篇原创文章 · 获赞 12 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35077107/article/details/104277491