動態生成HTML元素併為元素追加屬性
動態生成HTML元素的方法由三種:
第一種:document.createElement()
建立元素,再用appendChild()
方法將元素新增到指定節點;
新增a元素:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="main">
<span id="login"></span>
</div>
</body>
<script>
var link = document.createElement('a');
link.setAttribute('href','#');
link.setAttribute('id','login');
link.style.color = 'green';
link.innerHTML = '登入';
var main = document.getElementById('main');
main.appendChild(link);
</script>
</html>
第二種:使用innerHTML
直接將元素新增到指定節點:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="main">
<span id="login"></span>
</div>
</body>
<script>
var link = document.createElement('a');
//使用innerHTML將元素直接新增到指定節點
main.innerHTML = "<a href='#' id='login' style='color: red;'>登入</a>";
</script>
</html>
第三種:jQuery
建立節點
jQuery中建立DOM物件,使用jQuery的工廠函式$()
完成,格式如下:
$(html);
$(html)
會根據傳入的HTML標記字串,建立一個DOM物件,並將這個DOM物件包裝成一個jQuery
物件後返回.
jQuery中將建立的節點插入文字中,使用append()
等方法
jQuery中插入節點方法有:
1.
append()
:向每個匹配的元素內部追加內容2.
appendTo()
:將所有匹配的元素追加到指定元素中,顛倒了常規的$(A).append(B)
方法,不是將B追加到A中,而是將A追加到B中3.
prepend()
方法:向每個匹配的元素內部前置內容4.
prependTo()
:將所有匹配的內容前置到指定的元素中,與prpend()
方法顛倒5.
after()
向每個匹配的元素之後插入內容6.
insertAfter()
將所有匹配的元素插入到指定元素的後面,與after()
方法顛倒7.
before()
在每個匹配的元素之前插入內容8.
insertBefore()
將每個匹配的元素插入到指定內容之前,與before()
方法顛倒
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery-1.11.1.min.js"></script>
<script>
$(function(){
var $link=$('<a href="#" id="link" style="color:pink">登入</a>');
$('#main').append($link);
})
</script>
</head>
<body>
<div id="main"></div>
</body>
</html>
javascript動態追加html元素
主要有是兩種方案:
1.使用DOM
//使用createElement建立元素
var dialog = document.createElement('div');
var img = document.createElement('img');
var btn = document.createElement('input');
var content = document.createElement('span');
// 新增class
dialog.className = 'dialog';
// 屬性
img.src = 'close.gif';
// 樣式
btn.style.paddingRight = '10px';
// 文字
span.innerHTML = '您真的要GG嗎?';
// 在容器元素中放入其他元素
dialog.appendChild(img);
dialog.appendChild(btn);
dialog.appendChild(span);
2.使用html template
var popContent =[
'<li class="monitory-point-li" indexcode="00000000001310013631">',
'<span class="checkbox-unchecked"></span>',
'<span class="monitory-text" title="'+name+'">'+formedName+'</span>',
'</li>'
].join(' ');
$('.document').append(popContent);
<div class="se-preview-section-delimiter"></div>
或者使用這種寫法
var popContent = '<li class="monitory-point-li" indexcode="00000000001310013631">'+
'<span class="checkbox-unchecked"></span>'+
'<span class="monitory-text" title="'+name+'">'+formedName+'</span>'+
'</li>';
$('.document').append(popContent);
相關文章
- JavaScript動態生成html元素JavaScriptHTML
- jQuery動態建立html元素並設定屬性jQueryHTML
- JavaScript動態建立元素和追加元素JavaScript
- html元素,屬性修改HTML
- v-bind 動態更新 HTML 元素上的屬性HTML
- HTML——② HTML 元素、屬性詳解HTML
- 動態修改input元素type屬性值
- 動態生成的html元素繫結click事件HTML事件
- jQuery動態生成html元素的幾種方法jQueryHTML
- javascript為html元素新增自定義屬性程式碼JavaScriptHTML
- 動態生成HTML元素-模擬線上考試功能HTML
- 《HTML5移動開發》——2.2 HTML元素/屬性的語法HTML移動開發
- script元素屬性
- javascript操作html元素屬性簡單介紹JavaScriptHTML
- HTML5表單新增元素與屬性HTML
- javascript如何為陣列追加新元素JavaScript陣列
- javascript如何動態生成一個元素JavaScript
- 動態生成html元素繫結事件iphone失效問題解決HTML事件iPhone
- HTML5表單新增元素與屬性 (續)HTML
- 動態建立節點並且給建立的元素新增屬性
- 動態設定元素的disabled屬性可用和不可用
- javascript動態改變iframe元素src屬性程式碼例項JavaScript
- jquery如何在元素內追加新的元素jQuery
- JavaScript動態新增或者刪除HTML元素JavaScriptHTML
- HTML5 雜談 Video 元素的poster屬性HTMLIDE
- js通過元素的class屬性獲取元素JS
- Schema之簡單元素、複合元素和屬性
- js動態建立HTML元素程式碼例項JSHTML
- jquery動態生成元素並飄落效果jQuery
- 為什麼React元素有一個$$typeof屬性?React
- css匹配type屬性值為text的input元素CSS
- HTML元素拖動JSHTMLJS
- JavaScript在元素尾部追加字串JavaScript字串
- Zepto這樣操作元素屬性
- 行內元素屬性設定
- jquery改變元素屬性值jQuery
- jquery為動態新增元素新增事件薦jQuery事件
- 如何在TypeScript程式碼裡獲得HTML元素的css屬性TypeScriptHTMLCSS