有事没事领个红包

jquery中常见问题及解决办法小结

1 在开发开放聊天室的过程中,遇到使用ajax提交表单插入数据库时会插入两条数据的情况

解决办法,在ajax函数返回后,return false.

$("#btn").click(function(){
$.ajax({
   do something 
});
return false;

})

 2 去除选中元素的某一个属性使用removeattr

 

3javascript中与时间相关的函数有setInterval("function",millisec[,"lang"])和setTimeout("function",millisec)
和clearTimeout(对象) 清除已设置的setTimeout对象 clearInterval(对象) 清除已设置的setInterval对象。setInterval会自动隔一段时间执行一次函数,返回一个对象,用于clearInterval函数使用,来清除设置。

获取本地时间的函数

function getTime(){
    var datTime = new Date();
    var sep1 = "-",sep2=":";
    
    var year = datTime.getFullYear();
    var mon = datTime.getMonth()+1;
    var day = datTime.getDate();
    var hour = datTime.getHours();
    var min = datTime.getMinutes();
    var sec = datTime.getSeconds();
    time =  year + sep1 + mon + sep1 + day + " "+ hour + sep2 + min + sep2 + sec;
    $("#content1>p").text(time);
    
}

 

3 前端与后端进行数据交换,经常使用JSON格式的数据进行交换

前端中,将对象转换成字符串的方法是JSON.stringify(obj)。将JSON化的对象字符串转换成对象是JSON.parse(str)。

 

python进行json格式编码或解码使用dumps和loads或者dump和load到文件。

 

4 如何解决在ajax方法内使用$(this)不能选中当前元素的问题?

在使用jquery的$.ajax()方法时,需要用户点击界面中的某一个元素,然后提交到后台,后台处理过后,ajax对返回来的数据添加到对应的元素上。当在success内定义的方法上使用$(this)时怎么也改不了数据。后来经过查找原因,可能是在$(this)表示当前元素,而在$.ajax中的函数中相当于变更了上下文环境,所以$(this)不再表示之前的元素。为了能够选中指定的元素需要在调用$.ajax方法前通过一个JQuery变量保存指定元素。

下面是项目中的一个程序片段:

$(".item .part2 .favor").click(function(){
        var username = 'allen';
        var newid = $(this).parent().parent().attr('newid');
        var $current = $(this)
        
        $.ajax({
            url:'/mybbs/touchfavor/',
            data:{
                username:username,
                newid:newid,
            },
            type:'POST',
            success:function(feedbackdata){
                var temp = "点赞"+feedbackdata;
                $current.text(temp);
            }
        });
        return false;
        
    });

 5 在使用ajax跳转页面的方法

window.location.href=你要跳转的目标url

 

6 jquery中javascript代码写法

方法一:简单写法

 <script type="text/javascript">
        
        $(function(){
            $("#btn").click(function(){
                alert("nice");
            });
        });
    </script>

方法二:完整写法

 <script type="text/javascript">
         $(document).ready(function(){
            $("#btn").click(function(){
                alert("nice");
            });
        }); 
    </script>

 

posted @ 2016-06-08 20:44  crazyCodeLove  阅读(784)  评论(0编辑  收藏  举报