如何通过javascript动态添加标签?

如何通过javascript动态添加标签?,第1张

可以直接用document.getElementById("divid").innerHTML = "<p>内容</p>"的方式来写。

多个可以循环进行处理。

假设段落文本是个数组:array。

可以通过for (var i = 0i <array.lengthi++) {document.getElementById("divid").innerHTML = "<p>"+array[i]+"</p>"}的方式进行处理。

延展:

如果段落过多,直接使用 div.appendChild方法会不段刷新DIV对象,影响运行速度。

正确的方法应该使用 document对象的碎片方法。

document.createDocumentFragment 容器,最后再将这些碎片返回给DIV对象比较合理,例如:

var strArrayList=[]// 创建一个段落文本数组对象,这些段落文本可能是100个也可能是1000个。

strArrayList[0]='数据111.......'

strArrayList[1]='数据.......'

strArrayList[2]='数据.......'

strArrayList[3]='数据.......'

strArrayList[4]='数据.......'

//...数据n.....

var div=document.getElementById('div1')//获得DIV对象。

var f=document.createDocumentFragment()//创建碎片对象。

for(var i=0i<strArrayList.lengthi++){

var p=document.createElement('P')//动态创建P标签。

p.appendChild(document.createTextNode(strArrayList[i]))//段落字符串。

f.appendChild(p)//附加到碎片对象中。

}

div.appendChild(f)//最后返给DIV对象。

我的需求是需要基于页面中的h1元素中包含的文本来更改页面的标题标签。

我一直在搜索,并且找到了Javascript函数“ document.title”。我一直在尝试,尝试从具有“ Category-H1”类的h1元素中提取文本。

但是,它只是将页面标题设置为“ [object HTMLCollection]”,据我所知这是一个空值。

正确来说[object HTMLCollection]不是空值-它是html元素集合的字符串表示形式,可以从中获取需要的值。

给你一个简单的原生html5实现的例子吧。没有使用jquery。

<!DOCTYPE html>

<html>

<head lang="en">

    <meta charset="UTF-8">

    <title></title>

    <style type="text/css">

        li {

            display: inline-block

            width: 100%

            height: 30px

            line-height: 30px

        }

        li:active, li:focus, .li-active {

            background: #dddddd

            color: red

        }

    </style>

    <script type="text/javascript">

        onload = function () {

            function removeActiveClass(node) {

                node.className = ''

            }

            document.querySelector('ul[id=test]').onclick = function (e) {

                Array.prototype.forEach.call(document.querySelectorAll('ul[id=test] > li'), removeActiveClass)

                var target = e.target

                target.className = 'li-active'

            }

        }

    </script>

</head>

<body>

<ul id="test">

    <li>1111</li>

    <li>2222</li>

    <li>3333</li>

    <li>4444</li>

</ul>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8021617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存