前端

1、“$ is not a function”错误的几种可能情况?

  • js中引入文件时,把jquery的放在第一个引入,否则会报“$ is not a function”的错误;(原文)
  • button控件的id名和函数名相同的话,执行时先找到的是html控件,所以要注意不能重名;(原文)

2、前台报错“302 Found”?

  • 出现场景:web项目中,在js中引入了一些静态资源文件;
  • 解释:302 Found 是HTTP协议中的一个状态码,可以简单的理解为该资源原本确实存在,但已经被临时 改变了位置;302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。
  • 总结:web项目发布后,其中的静态资源文件位置会发生改变,所以不要写相对路径,应该写发布后的绝对路径;

3、JQuery中$.ajax()方法参数详解

 $.ajax({
             type: "GET",//请求方式
             url: "test.json",//请求路径
             data: {username:$("#username").val(),content:$("#content").val()},//请求参数
             dataType: "json",//返回的数据类型
             success: function(data){//请求成功的话执行的方法
                 
             }
         })
             

4、jQuery的一些方法

  • 属性操作 - val():用于返回或设置被选元素的值;

  • 文档操作 - empty() :从被选元素移除所有内容,包括所有文本和子节点;

  • 文档操作 - unwrap() :删除被选元素的父元素;

  • 文档操作 - wrap() :把每个被选元素放置在指定的 HTML 内容或元素中;

    $(".btn1").click(function(){
      $(":text").val("Hello World");//设置输入域的值
      $("p").empty();//移除p元素的内容
      $("p").unwrap();//删除所有p元素的父元素
      $("p").wrap("<div></div>");//在 <div> 元素中包裹每个段落
    });
    
  • splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

    arrayObject.splice(index,howmany,item1,…,itemX);

    参数意义:

    整数,规定添加/删除项目的位置;

    要删除的项目数量,为0时则代表向数组中添加元素;

    向数组添加的新元素;

    var arr = new Array(6)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    arr[3] = "James"
    arr[4] = "Adrew"
    arr[5] = "Martin"
    document.write(arr + "<br />")//George,John,Thomas,James,Adrew,Martin
    arr.splice(2,0,"William")
    document.write(arr + "<br />")//George,John,William,Thomas,James,Adrew,Martin
    

5、css浮动(原文)

  • div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的;

    也就是说,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为div元素是独占一行的;

    复杂的布局,基本出发点就是:“如何在一行显示多个div元素”,所以需要用到浮动;

  • 定义:浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次

  • j结论:假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。

6、result.data获得后台返回的list集合,list中封装的是map,map中有id这个健
obj= result.data;
var id = obj[0].id;//获得list的第一个map的id的值

7、使用定义的全局变量的值的话,不要用传参的方式了,直接拿来用就ok了!

8、需要靠右边显示的话,就再放在一个div中,为他设置对应的style,不要直接固定写多少px,否则不同的电脑显示效果是不一样的;

9、页面的加载是从上到下有顺序的,如果不注意的话,有ajax异步调用数据的情况,页面的展示就是有问题的;

10、$(selector).attr(attribute,value);//设置被选元素的属性和值。

//导出(根据id为searchForm的搜索表单中的参数进行数据过滤后导出)
function expContractPayExport(){
		top.layer.confirm('确认要导出Excel吗?', {icon: 3, title:'系统提示'}, function(index){
			    //do something
			    //导出之前备份
			    var url =  $("#searchForm").attr("action");
			    var pageNo =  $("#pageNo").val();
			    var pageSize = $("#pageSize").val();
			    //导出excel
			    //是将id为searchForm的表单的action提交路径改为第二个参数
   		        $("#searchForm").attr("action","${ctx}/expo//expContractPayExport");
    			$("#pageNo").val(-1);
				$("#pageSize").val(-1);
				$("#searchForm").submit();//执行submit提交表单!
				//导出excel之后还原
				$("#searchForm").attr("action",url);
				$("#pageNo").val(pageNo);
				$("#pageSize").val(pageSize);
			    top.layer.close(index);
		});
}

11、js弹窗

//添加
function add(){
	jp.openDialog('添加合同付款', "${ctx}/expo/form",'10px', '60px', $('#expTable'));
}

12、IE浏览器需要特殊处理的地方

  • Get请求,只请求一次,其他的都从缓存拿了,所以用post,或者加一个cache.false,或者url中拼一个new date,使每次请求都不一样;
  • Get查询中文的话会乱码,所以改成post;
  • ie8不支持jquery,只支持原生的js;可以在表头配置一些东西,判断是正在用哪个内核、哪个版本的浏览器,然后进行特殊处理;
  • 遇到的问题:
    描述:ie浏览器中,ajax提交方式为get的话,保存的数据就无法读取出来,用别的浏览器就能看到;
    原因:ie只查一次,其他的都从缓存中读了;
    解决:页面数据为了保持更新,ajax请求数据的方式全部改成post;

13、循环取值的几个封装好的方法?

14、开发列表页的时候,不要直接在列项里写xx.xx,这样ie8里取不出来,如果要取,写在formatter里;
ie8部分列表数据不显示
15、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值