JS操作总结

JS 数据类型转换 :

函数类型转换:

js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)

parseInt("1234blue");   //returns   1234 
parseInt("0xA");   //returns   10 
parseInt("22.5");   //returns   22 
parseInt("blue");   //returns   NaN

对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法: 
parseInt("10",   2);   //returns   2 
parseInt("10",   8);   //returns   8 
parseInt("10",   10);   //returns   10 

 

强制类型转换:

Boolean(value)——把给定的值转换成Boolean型; 
Number(value)——把给定的值转换成数字(可以是整数或浮点数); 
String(value)——把给定的值转换成字符串。 

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值

 

判断数值:

NaN 即 Not a Number
isNaN(numValue)

function checkValue()
  {
  if(isNaN(document.all.textbox.value))
  {
  alert("请用数字录入!");
  return false;
  }
  }

 

jquery的text():

不能用于input等的value设置;要用val();

 

跨域解决:

<meta http-equiv="Access-Control-Allow-Origin" content="*">

 或者在ajax中使用jsonp格式, 如jquery中ajax请求参数   dataType:'JSONP'

 

jquery样式操作:

addClass()只是追加

attr("class","");则是覆盖

toggleClass("blue"); 转换样式

 

查找子元素:

直接子类查找(不查找子孙类):children()

查找子孙类:$(this).find();

 

表单提交一个name多个value时:

采用Array对象实现

var array=new Array();

array.push("a");

array.push("b");

提交时换车字符串:array.toString();会变成"a,b"

 

打开链接:

window.open(URL,name,features,replace)

window.open("http://www.w3school.com.cn","_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400",false)

最简单的写法:

window.open("http://www.w3school.com.cn")

 

监听超链接的click事件:

<a href="#" onclick="changeArea(this);return false;" title="0">所有地区</a>

background-img 的URL可以是相对路径(../../image/test.jpg)也可以是绝对路径

 

JS中文编码:

当以url的形式(url?param=...)传递参数时,如果传递的是日文,或中文字符串那么在接收的时候是乱码形式。
JavaScript:
encodeURI(value):将value转换成utf-8,
decodeURI(value):将utf-8的value反转成字符串。

Java:
URLDecoder.decode(value, "utf-8");
URLEncoder.encode(value, "utf-8");

前端:
url1=encodeURI(url);
url2=encodeURI(url);

要编码两次的原因是后台服务器会自动decode一次;
后台:
String name1=request.getParameter("name");
String name2 = java.net.URLDecoder.decode(name1,"UTF-8");
不管容器用的什么编码,都不会有乱码:
url1会把url中的中文编为ASCII码。
url2对url1进行再编码,由于是对ASCII码进行编码,在request.getParameter("name")解码的时候,
不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到url1。
因为ASCII码用GBK、UTF-8、ISO-8859-1编码的结果是相同的。

 

iframe的操作:

DOM方法:
父窗口操作IFRAME:window.frames["iframeSon"].document
IFRAME操作父窗口: window.parent.document
 
jquery方法:
在父窗口中操作 选中IFRAME中的所有输入框: $(window.frames["iframeSon"].document).find(":text");
在IFRAME中操作 选中父窗口中的所有输入框:$(window.parent.document).find(":text");
 
iframe框架的HTML:<iframe src="test.html" id="iframeSon" width="700″ height="300″ frameborder="0″ scrolling="auto"></iframe>

 

 

JQuery问题总结:

Jquery ajax:

jQuery.post(url,data,function(data, textStatus, jqXHR){},dataType)

.error(function(){

//处理异常

});

其中:

dataType:规定预期的服务器响应的数据类型,例如json,text等

data:参数,例如{"workitemids":workItemArr.toString(),"toUser":toUser}

 

$.get(url,data,success(response,status,xhr),dataType)

需要异常最好使用ajax:

$.ajax({
            type : "post",
            url : urlv,
            cache : false,
            data : datav,

    async : true//默认值是true,异步请求
            dataType : "html",
            success : function(result) {
                $("#"+divID).html(result);
            },
            complete : function(event,request, settings){
            },
            error : function(event,request, settings) {
            }
        });

 

在IE下不能hide()隐藏select option的问题解决:
function  submitSearch() {
    var searchWord = $('#F_NameStartBy').val();
    $("#F_OptName").empty();
    if(!searchWord){
        for(var optionTemp in crm_cust_arr){
            $("#F_OptName").append(crm_cust_arr[optionTemp]);
        }
    }
    else{
        for(var optionTemp in crm_cust_arr){
            if (optionTemp.indexOf(searchWord) != -1) {
                $("#F_OptName").append(crm_cust_arr[optionTemp]);
            }
        }
    }
}

function resetSearch(){
    $("#F_OptName").empty();
    for(var optionTemp in crm_cust_arr){
        $("#F_OptName").append(crm_cust_arr[optionTemp]);
    }
}

 

jquery获取和设置radio,check,select选项(转):

select控件选项
2,获取select选中的text的值
 $("#selectID").find("option:selected").text()

3,设置select的第几项为当前选中项
$("#selectID").attr("value",2);//设置第二项为当前选中项

4,添加option
$("selectID").append("<option value='5'>select5</option>");

5,删除一项option
$("#SelectID option[value='3']").remove();  //删除Select中Value='3'的Option

6.,获取Select选择的索引值
var checkIndex=$("#selectID ").get(0).selectedIndex;  //获取Select选择的索引值
7,删除所有项
$("#SelectID").remove();

 

checkbox控件的使用
$('#'+tableID+' tbody').on( 'click', 'tr', function () {
                var checkObj=$(this).find(":checkbox[name='id_check']");
                console.log(checkObj);
                var checkStatus=checkObj.attr("checked");
                if(checkStatus){
                    checkObj.prop("checked",false);
                }
                else{
                    checkObj.prop("checked",true);
                }

                console.log( table.row( this ).data() );
            } );

radio控件
1,获取选中的value值
$("input[type='radio']:checked").val();
2,设置指定的项为当前选中项
  $("input[type='radio']").eq(1).attr("checked",true);//设置第二项为选中项

 

 jquery绑定事件:

 如果用$.on来绑定,则重新加载绑定之前需要$.off 不然会出现多次绑定的情况;

建议事件绑定统一用$.bind

 

 $.extend函数的使用:

http://www.cnblogs.com/zikai/p/5074686.html

 

 

 

 

 

 

 

 

 

 

 

 

 

JQuery mobile的问题总结:

一切组件都要在<div data-role="page"里面才能进行初始化

$(selector).get(url,data,success(response,status,xhr),dataType)






iframe的父子调用说明:
http://blog.csdn.net/lk_blog/article/details/7290671

 

JSTL读取Map:

http://blog.csdn.net/yuxiali/article/details/6509966

 

posted @ 2017-04-07 09:46  malcome  阅读(83)  评论(0)    收藏  举报