热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js使用js的CreateElement方法创建元素、样式表动态引入

2019独角兽企业重金招聘Python工程师标准一.动态创建link方式我们可以使用link的方式.如下代码所示.functionaddCssByLink(url){vard

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一.动态创建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("

推荐阅读
  • 前端图片合成技术_靠谱的前端需要做哪些准备?
    Web前端开发源于传统的互联网,互联网普及让人才需求量居高不下,随着移动互联网的高速发展,移动终端的前端开发也越来越受到重视, ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • pythonMatplotlib(二)
    Matplotlib+pandas作图一、对csv文件进行提取ruixi.csv对上述表格进行提取并做图画出图像二、对.xlsx进行提取:rui ... [详细]
  • from:http:www.myquickphp.comarchives147(请求的跨域服务器不支持常规”?”查询请求时的解决方案)昨天第一次做VIP需求时,发现一 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
author-avatar
8877Lyt_953
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有