`
mowengaobo
  • 浏览: 165112 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

简化document.createElement("div")动态生成层方法 (转)

    博客分类:
  • js
阅读更多

简化document.createElement("div")动态生成层方法 (转)

我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性。比方说我们想要建立一個 div 层,则可以使用以下代码实现。
一.直接建立
function  Button1_onclick()  // 直接采用代码建立一个DIV
{
    
var  newElement  =  document.createElement('div'); 
    
var  newText  =  document.createTextNode('这是新建立 div 中的文字。'); 
    document.body.appendChild(newElement); 
// 漏了这一句,否则行不通 
    newElement.id  =  'newDiv'; 
    newElement.className 
=  'newDivClass'; 
    newElement.setAttribute('name ','newDivName'); 
    newElement.style.width 
=  '300px'; 
    newElement.style.height 
=  '200px'; 
    newElement.style.margin 
=  ' 0  auto'; 
    newElement.style.border 
=  '1px solid #DDD'; 
    newElement.appendChild(newText);  
}
二.把建立新对象写成一个通用方法,增加其通用性
createEl  =   function (t, a, y, x) // 编写建立一个新对象的通用方法

    
var  e  =  document.createElement(t); 
    document.body.appendChild(e); 
// 漏了这一句,否则行不通 
     if  (a) 
        
for  ( var  k  in  a) 
            
if  (k  ==  'class') e.className  =  a[k]; 
            
else   if  (k  ==  'id') e.id  =  a[k]; 
    
else  e.setAttribute(k, a[k]); 
    }
 
    }
 
    
if  (y)  for  ( var  k  in  y) e.style[k]  =  y[k]; }  
    
if  (x)  { e.appendChild(document.createTextNode(x)); }  
    
return  e; 
}
  

// 再通过以下方法来进行调用建立一个新层
function  Button2_onclick()  // 先把建立一个新的DIV的方法写成一个通用方法,然后通过调用方法实例化建立DIV
{
    
var  newElement  =  createEl('div', 
    
{'class': 'newDivClass', id: 'newDiv', name: 'newDivName'} ,
    
{width: '300px', height:'200px', margin:' 0  auto', border:'1px solid #DDD'}
    '这是新建立div 中的文字。');

}


怎看之下这两个方法似乎使用了较长的代码块来达成相同的目的,其实不然,不过createEI这个通用方法实用性要强的多,在建立同类对象时性能会好的多。
  <script type="text/javascript"></script>
分享到:
评论

相关推荐

    javascript中createElement的两种创建方式.docx

    var btn = document.createElement("inputtype='button'value='我是动态创建的2'" + "onclick='OnClick2(this)'/"); document.body.appendChild(btn); } function OnClick2(btn) { alert(btn.value); } ``` **...

    js动态生成表元素

    var newTab = document.createElement("div"); var newTabs = document.getElementById("newTab"); newTab.innerHTML = ""; newTabs.innerHTML = ""; var table = document.createElement("table"); ``` - **`...

    js菜单可以动态生成

    在JavaScript中,这可以通过`document.createElement()`、`appendChild()`等方法实现。 ```javascript var menu = document.createElement('ul'); menu.id = 'dynamicMenu'; var item1 = document.createElement('...

    js动态生成表格行列特效

    在JavaScript编程中,动态生成表格是一项常见的任务,尤其在网页交互和数据展示中。本教程将深入探讨如何使用JavaScript来创建具有颜色效果和取色功能的动态表格。 首先,我们需要理解HTML表格的基本结构,它由`...

    14动态增添和移除菜单.rar_动态增添和

    3. **JavaScript操作**:动态添加菜单项通常通过JavaScript的`document.createElement()`方法创建新的`&lt;li&gt;`元素,并用`appendChild()`将其添加到`&lt;ul&gt;`中。移除菜单项则使用`removeChild()`方法。例如: ```...

    元素动态创建

    例如,在React中,我们可以创建组件并在其`render`方法中动态生成元素: ```jsx class DynamicList extends React.Component { render() { return ( &lt;div&gt; {this.props.data.map(item =&gt; &lt;div key={item.id}&gt;{...

    简单的网页日历

    以下是一个简化的示例,展示了如何动态生成当前月份的日历: ```javascript document.addEventListener('DOMContentLoaded', function() { var calendar = document.getElementById('calendar'); var today = new...

    wex5循环点击事件.zip

    var newNode = document.createElement('div'); newNode.textContent = '点击我'; document.body.appendChild(newNode); newNode.addEventListener('click', function(event) { alert('你点击了我!'); }); ``` 在...

    domchef使用JSX自动构建DOM元素

    这种方式极大地简化了动态生成和操作DOM的过程,使得代码更易读、更直观。 ### DOMChef的特性 1. **简洁的API**:DOMChef提供了简洁的API,让开发者可以专注于元素结构,而无需处理底层的DOM操作。 2. **表达式...

    js输入关键词创建标签代码.zip

    3. **创建HTML标签**:使用`document.createElement`方法创建新的HTML标签,如`&lt;div&gt;`、`&lt;span&gt;`或其他自定义标签。 ```javascript var tagElement = document.createElement('span'); tagElement.textContent = ...

    js 弹出层之间值得传递

    - 使用JS动态生成或修改弹出层的内容,可以根据需求动态显示不同的信息。 2. **弹出层的显示与隐藏** - 使用`style.display`属性来切换弹出层的可见性。例如,设置`display:none`为隐藏,`display:block`为显示。...

    jquery生成二维码

    在这个例子中,我们创建了一个ID为`qrcode`的空div元素,然后使用jQuery选择器`$('#qrcode')`,调用`.qrcode()`方法生成二维码。`width`和`height`参数定义了二维码的尺寸,而`text`参数则是要编码的数据。 若要在...

    js鼠标点击拖动生成小图标特效.zip

    var icon = document.createElement('div'); icon.className = 'icon'; // 假设我们有一个CSS类icon定义了图标样式 icon.style.backgroundColor = 'purple'; document.body.appendChild(icon); ``` 3. **拖动...

    lv.rar_js_json html

    let userDiv = document.createElement('div'); userDiv.innerHTML = htmlString; container.appendChild(userDiv); ``` 在这个项目中,`lv.js`会遍历JSON数据,对每个条目生成相应的HTML元素,并将其添加到页面上。...

    jquery打印指定的div

    var iframe = document.createElement('iframe'); document.body.appendChild(iframe); var iframeDoc = iframe.contentDocument || iframe.contentWindow.document; ``` 接下来,我们将`&lt;div&gt;`的内容复制到`...

    JavaScript脚本分页代码

    const div = document.createElement('div'); div.textContent = item.title; // 假设item对象有一个title属性 container.appendChild(div); }); } ``` 5. 添加导航元素:如“上一页”、“下一页”按钮,方便...

    js实现点击生成随机div

    接下来,使用`document.createElement`方法动态创建元素。此方法可以创建新的HTML元素,该元素是空的,需要通过JavaScript进一步设置属性、样式或者添加内容。 通过`$c`函数封装了创建新元素的逻辑,该函数接受三个...

    JavaScript DOM编程艺术 Creaing Markup on the Fly

    例如,`var newElement = document.createElement('div')`会创建一个新的`&lt;div&gt;`元素。 2. **属性设置**:使用`.setAttribute()`方法为元素添加属性。例如,`newElement.setAttribute('class', 'myClass')`将类属性...

    javascript实现svg导出图片

    const aLink = document.createElement('a'); aLink.href = imgURL; aLink.download = 'output.png'; aLink.click(); ``` 请注意,某些方法可能需要考虑兼容性问题,特别是老版本的浏览器可能不支持某些特性,如`...

    js手机号批量滚动抽奖实现代码.docx

    例如,`document.createElement('li')`创建新元素,`element.innerHTML`设置元素内容,`parentElement.appendChild(element)`添加元素到父元素。 4. **数组操作**:在抽奖过程中,可能需要从数组中移除已中奖的手机...

Global site tag (gtag.js) - Google Analytics