JsEngine 0.7.7 API 说明文档(源码21k 压缩版6.85k

全局函数

$(selector, context) / JsEngine(selector, context)

函数说明

根据上下文及CSS选择器获取HTML元素。

参数说明

selector
一段CSS选择器字符串或HTML元素。
context
上下文。
返回值
匹配到的扩展HTML元素(下面简称JsEngine对象)。如果传入的是单个HTML元素或者HTML元素数组,则返回对应的JsEngine对象或JsEngine对象数组;如果通过ID选择器寻找元素,只返回该元素的JsEngine对象;如果没有匹配到元素,返回null;其他情况均返回匹配到的JsEngine对象数组。

代码示例

var area = $("body > div.area");
var login = area.$("input[type=submit]"); // $函数可以连续调用

使用注意

避免这种写法:var area = $(".area");
使用这种写法:var area = $("body > div.area");

$命名空间

$.toArray(variable)

函数说明

把集合转换为数组,或者把一个非集合非数组的变量转换为以此变量为第一个元素的数组。

参数说明

variable
变量。
返回值
转换后的数组。

代码示例

var inputs = document.getElementsByTagName("input"); // 通过getElementsByTagName方法获取的不是数组类型
$.toArray(inputs).remove(0); // 使用$.toArray转换后才能调用数组类型的扩展函数

$.Browser

对象说明

判断客户端使用的浏览器以及版本。

属性说明

version
浏览器版本号。
safari
是否使用safari浏览器。
opera
是否使用opera浏览器。
msie
是否使用IE浏览器。
mozilla
是否使用Mozilla浏览器。

代码示例

if ($.Browser.msie) { alert($.Browser.version); }

JsEngine对象扩展方法

addCss(css)

函数说明

添加样式。

参数说明

css
类名或样式字符串。
返回值
当前元素。

代码示例

$("input[type=text]").addCss("font-size:12px;border:1px solid #ccc;");
$("input[type=submit]").addCss("button"); // 添加button类样式
$("input[type=text]").addCss("font-size:null;"); // 如果需要把样式设为空字符串,需要使用null作为样式值

removeCss(css)

函数说明

删除样式。

参数说明

css
类名或样式字符串。
返回值
当前元素。

代码示例

$("input[type=submit]").removeCss("button"); // 删除button类样式
$("input[type=text]").removeCss("font-size;border"); // 删除font-size、border样式
$("input[type=text]").removeCss("font-size:12px;border:1px solid #ccc"); // 虽然有样式值,但是执行结果还是删除font-size、border样式

toggleCss(css)

函数说明

当元素有指定样式时,删除该样式;当元素无指定样式时,添加该样式。

参数说明

css
类名或样式字符串。
返回值
当前元素。

代码示例

$("input[type=submit]").toggleCss("button");
$("input[type=submit]").toggleCss("font-size:12px;font-weight:bold");

addEvent(eventName, handler)

函数说明

添加事件。

参数说明

eventName
事件名。
handler
事件处理函数。
返回值
当前元素。

代码示例

$("#menu li").addEvent("click", toggle);

String类扩展方法

String.prototype.trim(str)

函数说明

去掉当前字符串两端的某段字符串,默认为去掉两端的空白。

参数说明

str
要去掉的字符串。
返回值
修整后的字符串。

代码示例

var str = " test string ";
alert(str.trim()); // output "test string"

String.prototype.has(str, spliter)

函数说明

检查当前字符串中是否存在以指定分隔符隔开的一段子字符串。

参数说明

str
要查找的子字符串。
spliter
分隔符。
返回值
是否存在子字符串。

代码示例

var className = "first on";
alert(str.has("on", " ")); // output true

String.prototype.left(len)

函数说明

从左边第一个字符起,获取一定长度的子串。

参数说明

len
子串长度。
返回值
子串。

代码示例

var str = "12345";
alert(str.left(2)); // output "12"

String.prototype.right(len)

函数说明

从右边第一个字符起,获取一定长度的子串。

参数说明

len
子串长度。
返回值
子串。

代码示例

var str = "12345";
alert(str.right(2)); // output "45"

Array类扩展方法

Array.prototype.indexOf(elem)

函数说明

搜索数组中是否存在指定元素。

参数说明

elem
指定元素。
返回值
指定元素在数组中的位置,如果该元素不存在,则返回-1。

代码示例

var arr = [1,2,3,4];
alert(arr.indexOf(1)); // output 0

Array.prototype.remove(order)

函数说明

删除当前数组指定位置的元素。注意,此操作会导致数组长度发生变化。

参数说明

order
元素位置。
返回值
当前数组。

代码示例

var arr = [1,2,3,4];
alert(arr.remove(0)); // output "2,3,4"

Array.prototype.merge(variable)

函数说明

把指定元素或数组混合到当前数组,重复的元素不会被添加。

参数说明

variable
指定数组或元素。
返回值
当前数组。

代码示例

var arr1 = [1,2,3,4];
var arr2 = [1,3,5,7];
alert(arr1.merge(arr2)); // output "1,2,3,4,5,7"

Function类扩展方法

Function.prototype.bind(obj, arg1, arg2...)

函数说明

为函数指定this对象。

参数说明

obj
需指定为this的对象。
argN
绑定后的函数执行时需要的参数。
返回值
绑定了this的函数。

代码示例

var obj = { name : "test obj" };
(function (arg) { alert(this.name + "," + arg); }).bind(obj, "args")(); // output "test obj,args"