js操作HTML

1.getElementById(id)
这是通过id来访问某一元素,最常用的之一,例:
<html>
<body>
<div id="myid">
test
</div>
<script language="javascript">
alert(document.getElementById("myid").innerHTML);
</script>
</body>
</html>

注意点:如果元素的ID不是唯一,则会取得第一个该ID名称的元素

2.getElementsByName(name)
这是通过name来取得某一堆元素(作为数组),看Element后面有个小s就知道了,IDHTML文档中要求唯一的,name可以不是唯一,如checkboxradio等地方会用到多个input用同一个name来识别是否为同党。对了,getElementsByName(name)仅用于取得inputradiocheckbox等元素,如<inputname="myradio" type="radio" />

3.getElementsByTagName(tagname)

    看这方法就知道这也是取得某一堆元素(作为数组),是通过TagName也就是标签名来取得。你可以遍历这个数组获得每一个单独的元素。当一个DOM结构很大时,可以通过它来有效地缩小搜查范围。
<html>
<head>
<script>
function test() {
testall=document.getElementsByTagName("body");
testbody=testall.item(0); //
获得所有tagName是body的元素(当然每个页面只有一个)
testall=testbody.getElementsByTagName("p");//获得body子元素种的所有P元素
testnode=testall.item(1); // 获得第二个P元素
alert(testnode.firstChild.nodeValue); //显示这个元素的文本
}
</script>
</head>
<body>
<p>hi</p>
<p>hello</p>
<script language="javascript">
test();
</script>
</body>
</html>

4.appendChild(node)
向当前的元素(应该叫对象比较恰当)追加节点。
<html>
<body>
<head>
</head>
<div id="test"></div>
<script type="text/javascript">
var newdiv=document.createElement("div")
var newtext=document.createTextNode("A new div")
newdiv.appendChild(newtext)
document.getElementById("test").appendChild(newdiv)
</script>
</body>
</html>

刚才我在第一个例子中为了显示出内容,用了innerHTML,刚才看到文章才得知innerHTMl不属于DOM

5.removeChild(childreference)
删除当前节点的子节点,返回被删除的节点。
这个被删除的节点可以被插入到别的地方
<html>
<body>
<div id="parent"><div id="child">Achild</div></div>
<script language="javascript">
var childnode=document.getElementById("child")
varremovednode=document.getElementById("parent").removeChild(childnode)
</script>
</body>
</html>

6.cloneNode(deepBoolean)
复制并返回当前节点的复制节点,复制节点是一个孤立节点,它复制了原节点的属性,在把这个新节点加入到document前,根据需要修改ID属性确保其ID的唯一。
这个方法支持一个布尔参数,当deepBoolean设置true时,复制当前节点的所有子节点,包括该节点内的文本。
<html>
<body>
<p id="mynode">test</p>
<script language="javascript">
p=document.getElementById("mynode")
pclone = p.cloneNode(true);
p.parentNode.appendChild(pclone);
</script>
</body>
</html>

7.replaceChild(newChild,oldChild)
把当前节点的一个子节点换成另一个节点
<html>
<body>
<div id="mynode2">
<span id="orispan">span</span>
</div>
<script language="javascript">
var orinode=document.getElementById("orispan");
var newnode=document.createElement("p");
var text=document.createTextNode("test ppp ");
newnode.appendChild(text);
document.getElementById("mynode2").replaceChild(newnode, orinode);
</script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值