zoukankan      html  css  js  c++  java
  • javascript动态创建radio button元素支持IE/Firefox

        我们都知道在IE中创建表单元素可以有三种方式
    var oInput = document.createElement("input");
    var oInput = document.createElement("<input />");
    var oInput = document.createElement("<input name='' />");
        在Firefox里面仅支持
    var oInput = document.createElement("input");

        想要兼容IE/Firefox动态创建radio button元素可以这样写:

    function createRadio(name,id,value,isChecked)
    {
        
    var oRadio = null;
        
    if(isIE)
        
    {
            oRadio 
    = document.createElement("<input name='" + name + (isChecked ? "' checked='"+ isChecked +"'/>" : "' />"));
            oRadio.id 
    = id;
            oRadio.type 
    = "radio";
            oRadio.value 
    = value;
        }

        
    else
        
    {
            oRadio 
    = document.createElement("input");
            oRadio.setAttribute(
    "type","radio");
            oRadio.setAttribute(
    "id",id);
            oRadio.setAttribute(
    "name",name);
            oRadio.setAttribute(
    "value",value);
            
    if(isChecked)
           
    {
                oRadio.setAttribute(
    "checked",isChecked);
            }
            
        }

        
    return oRadio;
    }
        延伸一下,动态创建input任意元素代码片段如下即可:
    function createElement(tagName,name,type,value)
    {
        
    var element = null;
        
    try 
        
    {
            element 
    = document.createElement('<'+tagName+' name="'+name+'" />');
            element.type 
    = type;
            element.value 
    = value;
        }

        
    catch (e)
        
    {
        }

        
    if (!element)
        
    {
            element 
    = document.createElement(tagName);
            element.setAttribute(
    "type",type);
            element.setAttribute(
    "name",name);
            element.setAttribute(
    "value",value);
       }

       
    return element;
    }
     
  • 相关阅读:
    ORM取数据很简单!是吗?
    谨慎使用反射机制
    AxeSlide软件项目梳理
    Uncaught Error: Cannot find module 'strip-ansi'
    vue 子组件data属性为啥必须是一个函数
    new FormData()
    computed methods watch filters
    关于template标签用法总结(含vue中的用法总结)
    区分http请求状态码来理解缓存(协商缓存和强制缓存)
    canvas绘制--圆角多边形
  • 原文地址:https://www.cnblogs.com/BeanHsiang/p/1030512.html
Copyright © 2011-2022 走看看