• 正则表达式-获取JavaScript中$表达式

    源文本

    a.click(jQuery('#slide06 > .btn.btn2')[0]);
    a = jQuery("li[style^='opacity: 1;']").find('.fl.pic1 > a > img, .fr.pic2 > a');
    console.log(2);
    a = jQuery('.fl.lt > a > img, .fl.rt > a > img');
    a = jQuery('.pics > li > a > img');
    console.log(5);
    a = jQuery('.pics > li > a > img')[0];
    console.log(8);
    a = $(".pics > li > a > img")[0];
    console.log('success');
    

    正则表达式

    (\()*(jQuery|\$)\(.*
    

    结果

    (jQuery('#slide06 > .btn.btn2')[0]);
    jQuery("li[style^='opacity: 1;']").find('.fl.pic1 > a > img, .fr.pic2 > a');
    jQuery('.fl.lt > a > img, .fl.rt > a > img');
    jQuery('.pics > li > a > img');
    jQuery('.pics > li > a > img')[0];
    $(".pics > li > a > img")[0];
    
  • 检查iframe被嵌套的三种方式

    采用window对象方式

    if (window.top != window.self) {
    	alert("window对象-被嵌套一层或多层");	
    }
    if (window.top != window.parent) {
    	alert("window对象-被嵌套两层");
    }
    

    采用self对象方式

    if (self.top != self.self) {
    	alert("self对象-被嵌套一层或多层");
    }
    if (self.top != self.parent) {
    	alert("self对象-被嵌套两层");
    }
    

    采用逻辑表达式之短路计算方式

    (t = window.top) && t == window.self || alert("短路计算-被嵌套一层或多层");
    (t = window.top) && t == window.parent || alert("短路计算-被嵌套两层");
    

    逻辑表达式说明

  • 给div绑定点击事件三个方法

    基础代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>测试</title>
        <style>
            div {
                font-size: 2em;
                width: 250px;
                cursor: pointer /*变成手型*/
            }
    
            .clickme {
                background-color: #2aabd2;
            }
        </style>
        <script src="//libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
    </head>
    <body>
    <!--代码位置-->
    </body>
    </html>
    

    [Read More…]

  • jsonp学习汇总

    为什么要使用jsonp?
    为了解决在不同域名下,即跨域(参考JavaScript同源策略)获取数据的问题。

    这是同域请求

    <script src='//libs.baidu.com/jquery/2.0.0/jquery.min.js'></script>
    <script type="text/javascript">
        $.ajax({
            url: 'http://127.0.0.1/a.json',
            dataType: "json",
            success: function (data) {
                console.log(data);
            }
        });
    </script>
    

    a.json

    {
        "name": "sun",
        "age": 10
    }
    

    2015-07-11_143704

    如果换成跨域?

    <script src='//libs.baidu.com/jquery/2.0.0/jquery.min.js'></script>
    <script type="text/javascript">
        $.ajax({
            url: 'http://www.sun.cn/a.json',
            dataType: "json",
            success: function (data) {
                console.log(data);
            }
        });
    </script>
    

    2015-07-11_144552
    提示跨域了,现在就需要jsonp出马。
    [Read More…]

  • 匿名立即调用函数学习

    错误例子:
    因为在解析器解析全局的function或者function内部function关键字的时候,默认是认为function声明,而不是function表达式,如果你不显示告诉编译器,它默认会声明成一个缺少名字的function,并且抛出一个语法错误信息,因为function声明需要一个名字。

    function() {// FF报错信息:SyntaxError: function statement requires a name
        alert("第18行");
    }();
    

    [Read More…]

  • JavaScript获取鼠标选择的文本内容

    这里需要用到两个属性selectionStart与selectionEnd,且IE、Chrome、FF都支持此属性。

    <textarea id="codeText" rows="10" cols="40"></textarea>
    <button id="search">查找</button>
    
    $('#search').click(function(){
    	var codeText = $("#codeText")[0];
    	codeText = codeText.value.slice(codeText.selectionStart,codeText.selectionEnd);
    	alert(codeText);
    });