博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript&jQuery知识点积累
阅读量:7091 次
发布时间:2019-06-28

本文共 2152 字,大约阅读时间需要 7 分钟。

hot3.png

 

JS调用iframe父窗口元素和子窗口元素的方法

父窗口调用子窗口 

window.frames["iframe的id"].document.getElementById("iframe中的id"?)

子窗口调用父窗口 

parent.document.getElementById("父页面中的Id")

子窗口调用父窗口的方法:

window.parent.closedivtree();

问题:$.fn与$.fn.extend的区别

$.fn给jQuery对象添加方法,例如:$.fn.abc是在$.fn命名空间下定义一个abc的方法。

$.fn.extend为扩展jQuery类本身.为类添加新的方法。

问题:$.each 和$(selector).each()的区别

$.each用于遍历对象和数组,是通用的遍历方法。其数字签名: jQuery.each(object,[callback])

  • object:需要遍历的对象或数组;

  • callback:回调函数。它拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。

使用例子参考:jQuery api> 工具 > $.each(object,[callback])

$.(selector).each()的作用是以每一个匹配的元素作为上下文来执行一个函数。

意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。 返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。

问题:javascript判断字符串是否为空

        很多情况下,都是用length来直接判断字符串是否为空,如下

var string = "";if(string.length == 0){   alert("不能为空");}

       但如果用户输入的是空格,制表符,换页符呢?这样的话,也是不为空的,但是这样的数据就不是我们想要的吧。

 var string = ""; if(string.replace(/(^\s*)|(\s*$)/g,"").length == 0){     alert("不能为空"); }

说明:replace(/(^\s*)|(\s*$)/g, "")

^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.

\s 是空格的意思, * 表示有0个或多个

\s* 就是有0个或多个空格

(^\s*) 表示的就是以0个空格或者多个空格开头

| 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.

\s*前面说过了

$ 的意思是字符串必须以前面的规则结尾

(\s*$) 的意思就是, 以0个空格或者多个空格结尾

/.../g  是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止

所以这个正则表达式替换的就是前导空格和后导空格

因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)

而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)

//打印数组	function print_array(arr) {		for ( var key in arr) {			if (typeof (arr[key]) == 'array' || typeof (arr[key]) == 'object') {//递归调用  				print_array(arr[key]);			} else {				alert(key + ' = ' + arr[key]);			}		}	}

 $.fn.serializeObject = function()     {        var o = {};        var a = this.serializeArray();        $.each(a, function() {            if (o[this.name]) {                if (!o[this.name].push) {                    o[this.name] = [o[this.name]];                }                o[this.name].push(this.value || '');            } else {                o[this.name] = this.value || '';            }        });        return o;     };

转载于:https://my.oschina.net/u/1425545/blog/269680

你可能感兴趣的文章
win32gui中操作任务栏托盘区的函数
查看>>
Struts2 漏洞分析及如何提前预防
查看>>
Python Pandas merge 的使用
查看>>
SVN版本库的迁移
查看>>
gRPC Windows编译应用
查看>>
设置 Linux 的 LD_LIBRARY_PATH 变量
查看>>
内核中的链表彻底分析与运用
查看>>
C#线程运行的机制和原理
查看>>
ecshop 导入自定义css
查看>>
Linux常用命令
查看>>
新版TeamTalk完整部署教程
查看>>
java实现泛域名解析,附SpringMVC源码示例
查看>>
mysql 导出 csv格式数据
查看>>
从Exchange 通往Office 365系列(十五)配置ADRMS与Exchange结合
查看>>
好用的软件之Xmind
查看>>
elasticsearch rpm安装以及配置修改
查看>>
Javascript获取元素的坐标
查看>>
使用 lsof 查找打开的文件
查看>>
Linkwedo 提升信息在决策中的力量
查看>>
雨林木风GhostXP_SP3装机版YN11.6_2011.06更新
查看>>