2019独角兽企业重金招聘Python工程师标准>>>
一.动态创建link方式
我们可以使用link的方式.如下代码所示.
function addCssByLink(url){var doc=document;var link=doc.createElement("link");link.setAttribute("rel", "stylesheet");link.setAttribute("type", "text/css");link.setAttribute("href", url);var heads = doc.getElementsByTagName("head");if(heads.length)heads[0].appendChild(link);elsedoc.documentElement.appendChild(link);
}
二.动态创建style方式
但是,这样的话,需要加载整个css文件,但是那样有可能浪费一个http请求并占用一个服务器请求数,并等待上一段下载时间,所以,Firebug Lite采取的是将css代码写在js中,然后动态创建style标签的方法,正如下面所示
function addCssByStyle(cssString){var doc=document;var style=doc.createElement("style");style.setAttribute("type", "text/css");if(style.styleSheet){// IEstyle.styleSheet.cssText = cssString;} else {// w3cvar cssText = doc.createTextNode(cssString);style.appendChild(cssText);}var heads = doc.getElementsByTagName("head");if(heads.length)heads[0].appendChild(style);elsedoc.documentElement.appendChild(style);
}
这样的话,如果是较少的代码,可以比较方便的实现到动态加载css的效果,但是如果为了方便维护和管理,并没有等待时间限制,使用link方式更加合适
//*************************************//
//定义方法创建一个label标签
//*************************************//
var createLabel = function(id, name, value) {
var label_var = document.createElement("label");
var label_id = document.createAttribute("id");
label_id.nodeValue = id;
var label_text = document.createTextNode(value);
label_var.setAttributeNode(label_id);
var label_css = document.createAttribute("class");
label_css.nodeValue = "select_css";
label_var.setAttributeNode(label_css);
label_var.appendChild(label_text);
return label_var;
}
//*************************************//
//定义方法创建input标签(主要为Text)
//id,name,value,type 分别代表创建标签的id,
// 名称(name),值(value),类型(type)
// 绑定Input方法事件,绑定方式如下(可以同时绑定多个事件方法):
// "οnchange==alert('This Value is change success !');|οnblur==alert('This value is the beautiful one !');"
//*************************************//
var createInput = function(id, name, value, type, width, height, event) {
var var_input = null;
var input_event_attr_IE = "";
if (event != null && event != "") {
var event_array_IE = event.toString().split('|');
for (var i = 0; i var event_IE = event_array_IE[i].split('=='); input_event_attr_IE += " " + event_IE[0] + "='' "; } } try {//定义变量实现IE6.0和IE7.0兼容。 var_input = document.createElement(""); } catch (e) { var_input = document.createElement("input"); } var input_id = document.createAttribute("id"); input_id.nodeValue = id; var input_name = document.createAttribute("name"); input_name.nodeValue = name; var input_type = document.createAttribute("type"); input_type.nodeValue = type; var input_value = document.createAttribute("value"); input_value.nodeValue = value; var input_style = document.createAttribute("style"); var input_style_str = ""; if (width != null && width != "") { input_style_str += "width:" + width + "px;"; } else { input_style_str += "width:30px;"; } if (height != null && height != "") { input_style_str += "height:" + height + "px;"; } if (event != null && event != "") { var event_array = event.toString().split('|'); for (var i = 0; i var events = event_array[i].split('=='); var input_event = document.createAttribute(events[0]); input_event.nodeValue = events[1]; var_input.setAttributeNode(input_event); } } var_input.setAttributeNode(input_type); input_style.nodeValue = input_style_str; try { var_input.setAttributeNode(input_style); } catch (e) { width = (width == null || width == "") ? "30" : width; var_input.setAttribute("width", width); if (height != null && height != "") { var_input.setAttribute("height", height); } } // if (readonly != "") { // var input_readonly = document.createAttribute("readonly"); // input_readonly.nodeValue = "readonly"; // var_input.setAttributeNode(input_readonly); // } var_input.setAttributeNode(input_id); var_input.setAttributeNode(input_name); var_input.setAttributeNode(input_value); return var_input; } //******************************************************************// //定义方法创建一个Select选择框的标签; //***** id 表示标签的标识id //***** name 表示标签的名称name //***** options表示标签要绑定的选择项(例如:"0231A563-专业类服务|02312177-维保类服务|……") //***** splitstr表示用来分割options的字符(如:'|') //***** splitchar表示分割键值对的分隔符(如:'-') //***** event 表示此标签对应的事件(当event==null时此标签不绑定事件) //******************************************************************// var createSelect = function(id, name, options, splitstr, splitchar, event, selectedValue) { var var_select = null; try {//处理IE6.0和IE7.0的兼容问题。 var_select = document.createElement(" } catch (e) { var_select = document.createElement("select"); } var select_id = document.createAttribute("id"); select_id.nodeValue = id; var select_name = document.createAttribute("name"); select_name.nodeValue = name; if (event != null && event != undefined && event != "") { var select_change = document.createAttribute("onchange"); select_change.nodeValue = event; var_select.setAttributeNode(select_change); } var_select.setAttributeNode(select_id); var_select.setAttributeNode(select_name); try { var_select.setAttribute("width", "100px"); } catch (e) { var select_css = document.createAttribute("class"); select_css.nodeValue = "select_css"; var_select.setAttributeNode(select_css); } splitstr = (splitstr == "" || splitstr == null) ? "|" : splitstr; splitchar = (splitchar == "" || splitchar == null) ? "-" : splitchar; if (options != null && options != undefined && options.toString() != "") { options = (options.toString().lastIndexOf(splitstr) + 1 == options.toString().length) ? options.toString().substr(0, options.toString().length - 1) : options; var arrayOption = options.toString().split(splitstr); for (var i = 0; i var temp_value = arrayOption[i].split(splitchar); var option = document.createElement("option"); var option_value = document.createAttribute("value"); option_value.nodeValue = temp_value[0]; var option_text = document.createTextNode(temp_value[1]); option.setAttributeNode(option_value); option.appendChild(option_text); var_select.appendChild(option); if (selectedValue != null && selectedValue != "") { if (temp_value[0] == selectedValue || temp_value[1] == selectedValue) { var_select.options[i].selected = true; } } } } return var_select; } //***************************************************// //定义方法创建一个标签; //***** id表示标签唯一表示id //***** name表示标签的名称name //***** value表示标签对应显示的文字(名称) //***** event表示标签对应的事件(当event==null时事件不绑定) //***** href表示标签的链接属性 //***************************************************// var createA = function(id, name, value, event, href, target) { var var_a = null; try { var_a = document.createElement(""); //这里创建必须为""这种形式来创建否者不支持IE6.0和IE7.0 } catch (e) { var_a = document.createElement("a"); } var a_id = document.createAttribute("id"); a_id.nodeValue = id; var a_name = document.createAttribute("name"); a_name.nodeValue = name; href = (href == null || href == "") ? ("Javascript:void(0);" || "#") : href; var a_href = document.createAttribute("href"); a_href.nodeValue = href; var a_Text = document.createTextNode(value); var_a.setAttributeNode(a_href); var_a.setAttributeNode(a_id); var_a.setAttributeNode(a_name); if (target != null) { var target_href = document.createAttribute("target"); target_href.nodeValue = "_blank"; var_a.setAttributeNode(target_href); } if (event != "" && event != null && event != undefined) { var a_click = document.createAttribute("onclick"); a_click.nodeValue = event; var_a.setAttributeNode(a_click); } var_a.appendChild(a_Text); //注意这个值绑定顺序,只能放在最后去绑定(不然不支持IE6.0和IE7.0) return var_a; } //******************************************// //定义方法判断输入值是否为数字; //******* 当flag=true时判断输入值是否为整数; //******************************************// var check_Is_Num = function(obj, flag) { var flag_var = false; var num = /^\d+$/; ///^\+?[1-9][0-9]*$/; //flag_var = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/.test(obj); flag_var = /^\d+(\.\d+)?$/.test(obj); if (flag) { flag_var = num.test(obj); } return flag_var; } //定义方法删除节点。 var removeRowItem = function(obj) { var rowTr = obj.parentNode.parentNode; try { rowTr.removeNode(true); } catch (e) { rowTr.parentNode.removeChild(rowTr); } } String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }