通过js动态创建标签,并设置属性方法

JavaScript09

通过js动态创建标签,并设置属性方法,第1张

当我们在写jsp页面时,往往会遇到这种情况:从后台获取的数据个数不确定,此时在前端写jsp页面时也就不确定怎么设计了。这个时候就需要通过js动态创建标签:

1.创建某个标签:如下在body中创建一个div的事例;

<script>

function

fun(){

var

frameDiv

=

document.createElement("div")//创建一个标签

var

bodyFa

=

document.getElementById("bodyid")//通过id号获取frameDiv

的父类(也就是上一级的节点)

bodyFa

.appendChild(frameDiv)//把创建的节点frameDiv

添加到父类body

中;

}

<script>

<body

id="bodyid"

>

<!--在此添加div标签-->

</body>

2.添加属性:给创建的标签添加相应的属性:

frameDiv

.setAttribute("id",

"divid")//给创建的div设置id值;

frameDiv

.className="divclass"

//给创建的div设置class;

//给某个标签添加显示的值;

var

h

=

document.createElement("h1")

h.innerHTML

=

data[i].name

var

p

=

document.createElement("p")

p.innerHTML

=

"要显示的值"

3.创建的标签添加事件:

a.不带参数:

frameDiv.onmousedown

=

fun//ps:函数名fun后面一定不能带括号,否则会在创建标签的时候执行函数,

而不是鼠标按下时执行;

b.有参数:

frameDiv.onmousedown

=

function(){

fun(this)

}

c.要调用的函数;

function

fun(){

alert("鼠标按下")

}

4.如果担心创建的标签没有被覆盖则可以替换:

var

divFlag

=

document.getElementById("divFlag")

var

divMain

=

document.createElement("div")

if(divFlag

!=

null){

body.replaceChild(divMain,

divFlag)//把原来的替换掉

}

divMain.setAttribute("id",

"divFlag")

以上这篇通过js动态创建标签,并设置属性方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:JS实现给对象动态添加属性的方法JS中动态创建元素的三种方法总结(推荐)js动态创建标签示例代码使用变量动态设置js的属性名

js 动态添加li代码:

<ul id="parentUl"><li>原li</li></ul>

 function addElementLi(obj) {var ul = document.getElementById(obj) //添加 livar li = document.createElement("li") //设置 li 属性,如 idli.setAttribute("id", "newli") li.innerHTML = "js 动态添加li"ul.appendChild(li)}

调用:addElementLi("parentUl")

用 js 动态添加元素,就不会有那么复杂的字符串出现,代码阅读性强一点,也容易理解。用代码的方式在js中给li附上标签。

一、js 动态添加元素div:

<div id="parent"></div> function addElementDiv(obj) {var parent = document.getElementById(obj) //添加 divvar div = document.createElement("div") //设置 div 属性,如 iddiv.setAttribute("id", "newDiv") div.innerHTML = "js 动态添加div"parent.appendChild(div)}

调用:addElementDiv("parent")

二、js 动态添加元素img:

<ul id="parentUl"></ul>

 function addElementImg(obj) {var ul = document.getElementById(obj) //添加 livar li = document.createElement("li") //添加 imgvar img = document.createElement("img") //设置 img 属性,如 idimg.setAttribute("id", "newImg") //设置 img 图片地址img.src = "/images/prod.jpg" li.appendChild(img)ul.appendChild(li)}

调用:addElementImg("parentUl")

把一串

html

标签赋给一个

javascript

变量,除属性的值要用转义的双引号外,某些时候字符串还很长,显得有些复杂。如果用

js

动态添加元素,就不会有那么复杂的字符串出现,代码阅读性强一点,也容易理解。

网页是由

html

标签一层层组成的,js

也可以动态添加一层层的诸如

div、li、img

这样的标签。其实,不管是什么

html

标签,js

动态创建的方法都差不多,接着就先从动态添加

div

开始。

一、js

动态添加元素div

<div

id="parent"></div>

function

addElementDiv(obj)

{

var

parent

=

document.getElementById(obj)

//添加

div

var

div

=

document.createElement("div")

//设置

div

属性,如

id

div.setAttribute("id",

"newDiv")

div.innerHTML

=

"js

动态添加div"

parent.appendChild(div)

}

调用:addElementDiv("parent")

二、js

动态添加li

<ul

id="parentUl"><li>原li</li></ul>

function

addElementLi(obj)

{

var

ul

=

document.getElementById(obj)

//添加

li

var

li

=

document.createElement("li")

//设置

li

属性,如

id

li.setAttribute("id",

"newli")

li.innerHTML

=

"js

动态添加li"

ul.appendChild(li)

}

调用:addElementLi("parentUl")

三、js

动态添加元素img

<ul

id="parentUl"></ul>

function

addElementImg(obj)

{

var

ul

=

document.getElementById(obj)

//添加

li

var

li

=

document.createElement("li")

//添加

img

var

img

=

document.createElement("img")

//设置

img

属性,如

id

img.setAttribute("id",

"newImg")

//设置

img

图片地址

img.src

=

"/images/prod.jpg"

li.appendChild(img)

ul.appendChild(li)

}

调用:addElementImg("parentUl")

以上这篇js

动态添加元素(div、li、img等)及设置属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。