<span bb="123" onclick="aa(this.bb)">125</span>
js代码:
function aa(val){
alert(val) //就会输出 123
//在这里val 就是你所点击的span的bb值
}
对于文本节点,节点值为文本内容;对于属性节点,节点值为属性的值。
节点值对于文档节点和元素节点是不可用的。
获取节点值的语法:
nodeObject.nodeValue
其中,nodeObject 为DOM节点(节点对象)。
举例,获取文本节点的节点值:
<div id="demo3">点击这里显示文本节点的值</div><script type="text/javascript">
document.getElementById("demo3").onclick=function(){
alert(this.firstChild.nodeValue) // this 指当前发生事件的HTML元素,这里是<div>标签
}
</script>
先给你看下面两段代码:
<div id="div1">test!</div><script>
console.log(document.getElementById("div1")) //这个能够获得值
</script> <script>
console.log(document.getElementById("div1")) //这个不能获得值!
</script>
<div id="div1">test!</div>
看出原因没有?当js代码是先于html运行时,是获取不到DOM元素的!因为这时候该DOM元素尚未加载到内存,相当于不存在!
要想实现js代码放到任何位置都能获得DOM元素,就要保证代码在页面完全加载完毕后才开始运行,比如:
<script>window.onload=function(){ //网页完全加载完毕才会触发这个事件
console.log(document.getElementById("div1")) //这时候就能获得了
}
</script>
<div id="div1">test!</div>