Discuz common.js代碼註釋(四)

/**
* 將一些預約義的字符轉換爲 HTML 實體
* & (和號) 成爲 &
* " (雙引號) 成爲 "
* ' (單引號) 成爲 '
* < (小於) 成爲 <
*  > (大於) 成爲 >
*/
function htmlspecialchars(str) {
    return preg_replace(['&', '<', '>', '"'], ['&', '<', '>', '"'], str);
}
/**
* 判斷指定的id對象是否隱藏
*/
function display(id) {
    var obj = $(id);//獲取指定的id文檔對象
    if (obj.style.visibility) { //判斷獲取到的對象元素控件的style的visibility屬性
        //判斷該元素控件是否可見,若是style.visibility="visible"時控件可見,若是style.visibility="hidden"時控件不可見,若是屬性值爲空則爲visible可見
        obj.style.visibility = obj.style.visibility == 'visible' ? 'hidden' : 'visible'; 
    } else {
        obj.style.display = obj.style.display == '' ? 'none' : ''; //不然判斷元素控件是都爲空,爲空則不賦值,若是爲style.display="none"控件不顯示
    }
}

/**
* 設置或取消全選功能
* form 表單
* prefix 前綴
* checkall 全選
*/
function checkall(form, prefix, checkall) {
    var checkall = checkall ? checkall : 'chkall'; //判斷是否爲空,若是爲空就賦值chkall,不然就賦值checkall
    count = 0;  //聲明選中數
    for (var i = 0; i < form.elements.length; i++) {  //循環全部表單元素
        var e = form.elements[i]; //得到表單第i個元素
        if (e.name && e.name != checkall && !e.disabled && (!prefix || (prefix && e.name.match(prefix)))) { //disabled 編輯狀態
            e.checked = form.elements[checkall].checked; //獲取表單元素的選中狀態
            if (e.checked) { //判斷表單元素狀態
                count++;  //統計選中數
            }
        }
    }
    return count; //返回已選總數
}
相關文章
相關標籤/搜索