jquery 杂记

 

 


 

设置或返回元素的属性值:

       $("#imgId").attr('src');   // 获取元素的属性值

  $("#imgId").attr('src',path); // 设置元素的属性值

  $("#imgId").getAttribute(“src”) ;  // getAttribute() 方法返回指定属性名的属性值。

 

  

  用JQuery操作元素的style属性:

    $("p").css("color");  //获取p元素的样式颜色

  $("p").css("color","red");  //设置p元素的样式颜色为红色

 

  $("#id").show();  //表示display:block,  

  $("#id").hide();   //表示display:none;  

  $("#id").toggle(); //切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。  

       $("#id").css('display','none');  

       $("#id").css('display','block');

 

  判断是否隐藏显示:

    .is(':visible')  // 是否显示

    is(":hidden") // 是否隐藏

 


 

 

 获取元素的值、设置元素的值:

  获取value值: $("#id").val()

  设置value值: $("#id").val(“hello”)


 

form表单:

序列化表单值: $('#formid').serialize()   创建 URL 编码文本字符串。 如:name=aa&tel=13166666661

 


 

选择器:

  通过类获取节点: $('.xz);  

  通过id获取节点:$('#xz);

  

  选择器:

  $("input[name=xxx][value=xxx]").val();

    $(".demo  li") 

 

  通配符:

      $("input[id^='code']");//id属性以code开始的所有input标签

      $("input[id$='code']");//id属性以code结束的所有input标签

        $("input[id*='code']");//id  属性包含code的所有input标签


 

节点的:插入、复制、替换、删除 等操作:

 

  添加节点:

 

    append() - 在被选元素的结尾插入内容
    prepend() - 在被选元素的开头插入内容
    after() - 在被选元素之后插入内容
    before() - 在被选元素之前插入内容

 

      $("p").append("<b>123</b>");  //向p元素中追加<b>节点,结果:<p> <b>123</b> </p>  

          $("<b>123</b>").appendTo("p");   //将<b>追加到p元素中
          $("p").prepend("<b>123</b>");   //向p中前置<b>
          $("<b>123</b>").prependTo("p");   //将<b>前置到p元素中
          $("p").after("<b>123</b>");   //向p元素后插入<b>
          $("<b>123</b>").insertAfter("p");   //将<b>插入到p元素后边
          $("p").before("<b>123</b>");   //在p元素之前添加<b>
          $("<b>123</b>").insertBefore("p");   //将<b>插入到p元素前面      

  删除节点:

       var $li=$("ul li:eq(1)").    ();//删除ul节点中第2个元素节点
           $("ul").append($li);//把刚删除的元素节点从新添加到ul元素中去
           $("ul li").remove("li[title!=菠萝]");//将ul元素下title属性不等于"菠萝"的li元素删除
           $("ul li:eq(1)").empty();//清空ul节点下第2个li元素的内容

 


jquery 循环和遍历:

  

循环遍历元素节点:

$(".demo li").each(function(){
    alert($(this).text())
  });

 

循环遍历数组:

    // 要提前把数组转换为json格式
    var anArray = ['one','two','three'];
    $.each(anArray,function(n,value){
        alert(n);
        alert(value);
    }
    // alert(n) 输出:0 1 2
    // alert(value) 输出: one two three 

   var anObject = {one:1,two:2,three:3};//对json数组each
    $.each(anObject,function(name,value) {
        alert(name);
          alert(value);
    });

 


 数组操作:

  定义数组:

    var a = new Array();
         a[0] = 10;
    a[1] = "aaa";
    a[2] = 12.6;

  循环数组:

var a = [1,2,3,4,5,6];
for(var i =0; i<a.length; i++){
alert(a[i]);
}

  数组的常用函数:

    1、判断某元素是否在数组中  或 返回数组中指定元素的索引值

      jQuery.inArray()方法:  用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1)    

jQuery.inArray( value, array [, fromIndex ] ) 

 

                  

  


 

 

 if判断:

  运算符要不支持and/or,要使用&&/||

  if(val1 != '' && val1 < 100){


字符串处理:

把字符串中的某个字符全部替换:

var start = '11-11-21';
start = start.replace(/-/gm,'');
alert(start);

 

 


获取上一个兄弟节点:prev()      

获取下一个兄弟节点:next()

查找兄弟节点,不分前后:siblings()     例:this.siblings(".selected")  查找当前元素的所有类名为 "selected" 的所有同胞元素:      

获取父节点:parent()

获取第一个子元素:children(":first")  或者 children(":eq(0)")

获取第二个子元素:children(":eq(1)")

  $("div").children(".selected").css("color", "blue");   找到类名为 "selected" 的所有 div 的子元素,并将其设置为蓝色:

  $("div ul").children(":eq(1),:eq(7)").css("color","red");


删除节点:

            //将class="carousel-inner",子元素的class!='item active'的div节点全部删除
            $(".carousel-inner").children("div[class!='item active']").remove();

 

 

 


 

jquery页面刷新:

        $(function(){  //这是当文档载入完毕就执行的意思
            $("#refresh").click(function(){  //页面加载时绑定按钮点击事件
                window.location.reload();//刷新当前页面.
            });
        });

 


 

jquery事件绑定:

方式一:当文档载入完毕,执行绑定
        $(function(){  //这是当文档载入完毕就执行的意思
          $(".check-list li").on("click",function(){
            $(this).addClass("sel");
          })
        });

    // 或者
        $(document).ready(function() {  //这是当文档载入完毕就执行的意思
          $(".check-list li").on("click",function(){
            $(this).addClass("sel");
          })
        });
        // 推荐:ready里面执行的事件,整合放到一个function里面,这样的话,发布重新绑定事件(比如添加新元素时)
        $(document).ready(function() {  //这是当文档载入完毕就执行的意思
             xxxx();// 所有的事件,都放到这个function里面          
        });

 



方式二:将事件和函数绑定到元素
    $('#travelmemberlogin').bind('keyup change blur',function () {
        getTravelMemberInfo();
    });

 

  on() 方法在被选元素及子元素上添加一个或多个事件处理程序。

  自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

  注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

 

元素的显示:show()

元素的隐藏:hide()


 

正则表达式:

       test() 方法用于检测一个字符串是否匹配某个模式. 
       如果字符串中有匹配的值返回 true ,否则返回 false。

  例:判断手机号的格式:

        var phone = /^1([38]\d|4[57]|5[0-35-9]|7[0135-8]|8[89])\d{8}$/;

        if(!phone.test($("#telephone").val())){
            alert('用车联系人的电话格式不正确!');
        }

 

 


当元素的值发生改变时,会发生 change 事件:

$('#renttype').change(function() {
       …………
});


 获取select选中的值:

$("#selectid  option:selected").val();

或:var id = $(this).find("option:selected").val();

 

获取radio选中的值:

$("input[name='rd']:checked").val();

 

获取自定义data-*属性的值:

$("#awesome").data('myid');

 


 

通过获取jquery节点、获取值:

通过name获取节点: $("li[name='sheng']")

                   $("input[id='sheng']")

 

获取双标签之间的字符(html):

                  document.getElementById('dialog').innerhtml="标签中的内容"   (js实现)

                  $("#dialog").html("标签中的内容")

 


 

JQuery获取input type="text"中的值的各种方式:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml>

<html xmlns="http://www.w3.org/1999/xhtml">

	<head>
		<title>JQuery获取文本框的值</title>
		<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
		<script src="jquery-1.5.1.min.js" type="text/javascript"></script>
		
		<script type="text/javascript">
		//使用id的方式获取    (切记:使用id获取节点的值时,代码中不能有id重名的否则会失败!!!)
		$(document).ready(function(){
			//1
			$("#button_text1").click(function(){
				var result1 = $("#input_text1").val();
				alert("result1 = " + result1);
			});
			//2
			$("#button_text2").click(function(){
				var result2 = $("input[id='input_text2']").val();
				alert("result2 = " + result2);
			});
			//3
			$("#button_text3").click(function(){
				var result3 = $("input[id='input_text3']").attr("value");
				alert("result3 = " + result3);
			});
			//4. 可以通过type的值来获取input中的值(未演示)
			/*
			$("#button_text4").click(function(){
				var result4 = $("input[type='text']").val();
				alert("result4 = " + result4);
			});
			*/
			//5. 可以通过name的值来获取input中的值(未演示)
			/*
			$("#button_text5").click(function(){
				var result5 = $("input[name='text']").val();
				alert("result5 = " + result5);
			});			
			*/
		});
		</script>
	</head>

	<body>
		<!-- 获取文本框的值:方式一 -->
		<div id="test1">
			<input id="input_text1" type="text" value="test1" style="width: 100px;" />
			<button id="button_text1">test1</button>
		</div>
		<!-- 获取文本框的值:方式二 -->
		<div id="test2">
			<input id="input_text2" type="text" value="test2" style="width: 100px;" />
			<button id="button_text2">test2</button>
		</div>
		<!-- 获取文本框的值:方式三 -->
		<div id="test3">
			<input id="input_text3" type="text" value="test3" style="width: 100px;" />
			<button id="button_text3">test3</button>
		</div>
	</body>

</html>  

兼容性:

当不兼容360浏览器的极速模式时,以下面方式可以兼容:

1:有些浏览器不兼容onclick()事件,

    $(document).ready(function() {
        // 为下拉框绑定事件
        $('#roleid').change(function () {
            showcheckarea();
        });

        // 页面加载完成后也要执行一次
        showcheckarea();
    });

    function showcheckarea() {
        var roleid = $('#roleid option:selected').val();
        if(roleid == 2) {
            $('#checkprincipalarea').show();
        }else {
            $('#checkprincipalarea').hide();
            $('#checkid').val("0");
        }
    }



 

 

 



代码判断:

            $('select[name="select-commonappoint"]').change(function(){
                var id = $(this).attr("id");
                var selectval = $('#'+id+' option:selected').attr('value');
                var appointfromid = ($('#'+id).prev()).prev().attr("id");
                $('#'+appointfromid).attr('value',selectval);
            });

 

 



 

jquery插件:

  一:confirm  确认对话框按钮和链接

 

 

  二 : jQuery弹出层插件 - layer  

    1-官网:http://layer.layui.com/

            2-效果: 半透明的弹窗

             

            3-使用方法:
      第一步:把插件的压缩包放到项目目录
      

      第二步:引入 <script type="text/javascript" src="/js/layer/layer.js"></script>
      

      第三步:调用  (就这么简单,直接调用就可以了)

<script>
    function xxx() {
        layer.msg('xxx不能为空');
    }
</script>

      



    

 


jquery获取第二个class:
  var var1=$(this).attr("class");
  var var2=var1.split(' ');
  alert(var2[1]);




jquery 常用事件:

1、keyup 按键被按下,然后按键被松开并复位时触发。

// 当按下按键时,改变文本域的颜色
$("input").keyup(function(){
  $("input").css("background-color","#D6D6FF");
});

 

2、onchange 事件会在域的内容改变时发生。

 

3、oninput 事件在value改变时实时触发(除IE之外的大多数浏览器支持的事件)

 

 


 


 

定时、周期:

setInterval()     // 按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout()     // 在指定的毫秒数后调用函数或计算表达式。

   

页面跳转:

    location.href = "www.xxx.com"; 

 


 

四舍五入:

    var num = 13.37;
  alert(num.toFixed(1));     // 四舍五入,保留一位小数

       输入:13.4

 


 

 

一个JS公告滚动效果:

  https://blog.csdn.net/jklgfgdsr/article/details/87901898

 

 


 

alert 打印对象:

  方法一:

    

将object变成可见的json格式的字符串。

即 alert(JSON.stringify(object));

 

  方法二:

假设将对象赋给test,此时test是也是对象。
var test = object;
一、查看对象内容(一级对象)。

for(i in test ){
  alert(i);           //获得属性
  alert(test[i]);  //获得属性值

}

二、查看对象里的对象(二级及以上)

for(i in test ){
  alert(i);
  alert(test[i].toSource());

}

 

 


 

 

百度地图 - 已知经纬度,获取城市名称:

方法1:百度地图  =》 JavaScript API =》 逆地址解析服务:http://lbsyun.baidu.com/index.php?title=jspopular/guide/geocoding

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的key"></script>

<div id="l-map"></div>

<script>
                var latitude = "";  // 纬度
                var longitude = '';  // 经度

                var map = new BMap.Map("l-map");
                // 创建地理编码实例
                var myGeo = new BMap.Geocoder();
                // 根据坐标得到地址描述
                myGeo.getLocation(new BMap.Point(longitude, latitude), function(result){
                    if (result){
//                        alert(JSON.stringify(result));
                        var res_city = result.addressComponents.city;
                        if(!res_city) {
                            // 默认城市
                            res_city = '临沂市';
                        }
                        alert(res_city);
                    }
                });

</script>            

 

方法2:百度地图 =》WEB 服务API =》正/逆地理编码服务 :http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding

 

 

 


 

 

hasClass() 方法检查被选元素是否包含指定的 class。

removeClass() 方法从被选元素移除一个或多个类。

addClass() 方法向被选元素添加一个或多个类。

 

 


 

判断身份证的格式:   (身份证号:老的是15位,新的是18位)

 

function checkIdentity(identity){
            var reg = /^[1-9]{1}[0-9]{14}$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/;
            if(reg.test(identity)){
                return true;
            }else{
                return false;
            }
}

 

posted @ 2015-07-30 14:22  王宇walkOn  阅读(322)  评论(0编辑  收藏  举报