可以直接用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>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)