我的JS函数库

一些常用的JS函数库

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name 我的JS函数库
// @description  一些常用的JS函数库
// @namespace http://www.jycggyh.cn/
// @author 艮古永恒
// @version 1.0.0
// @include *
// @match *://*
// @grant none
// @run-at  document-start
// ==/UserScript==

function _eleArr2Ele(arrElement) {
    if(arrElement.length == 0)
        return false;
    else if(arrElement.length == 1)
        return arrElement[0];
    return arrElement;
}

function arrContains(arr, obj) {
    // 判断参数
    if(arguments.length != 2)
        return false;
    var i = 0;
    for(i = 0; i < arr.length; i++)
        if(arr[i] == obj)
            return true;
    return false;
}

function queryByTName(tagName, eleParent) {
    // 判断参数是否为空
    if(arguments.length == 0)
        return false;
    // 获取结点
    var arrElement;
    if(arguments.length >= 2)
        arrElement = eleParent.getElementsByTagName(tagName);
    else
        arrElement = document.getElementsByTagName(tagName);
    // 判断结点数量
    return _eleArr2Ele(arrElement);
}

function queryByCName(className, eleParent) {
    // 判断参数是否为空
    if(arguments.length == 0)
        return false;
    // 获取结点
    var arrElement;
    if(arguments.length >= 2)
        arrElement = eleParent.getElementsByClassName(className);
    else {
        arrElement = document.getElementsByClassName(className);
    }
    // 判断结点数量
    return _eleArr2Ele(arrElement);
}

function queryArrByTName(tagName, arrElement) {
    // 判断参数
    if(arguments.length != 2)
        return false;
    // 循环检索
    var arrEle = new Array();
    var i;
    var s = 0;
    for(i = 0; i < arrElement.length; i ++) {
        if(arrElement[i].tagName == tagName.toUpperCase()) {
            arrEle[s] = arrElement[i];
            s++;
        }
    }
    return _eleArr2Ele(arrEle);
}

function queryArrByCName(className, arrElement) {
    // 判断参数
    if(arguments.length != 2)
        return false;
    // 循环检索
    var arrEle = new Array();
    var s = 0;
    var i = 0;
    for(i = 0; i < arrElement.length; i ++) {
        var sClassName = arrElement[i].className;
        var arrClassName = sClassName.split(' ');
        if(arrContains(arrClassName, className)) {
            arrEle[s] = arrElement[i];
            s++;
        }    
    }
    return _eleArr2Ele(arrEle);
}