示例 2 : 节点值 示例 3 : 节点类型 示例 4 : 元素的文本内容 示例 5 : 元素上的属性 示例 6 : 练习-验证账号是否已经存在 示例 7 : 答案-验证账号是否已经存在 示例 8 : 练习-切换不同的图片 示例 9 : 答案-切换不同的图片 示例 10 : 练习-判断输入框里的值,是否是整数(浮点数也不行) 示例 11 : 答案-判断输入框里的值,是否是整数(浮点数也不行)
nodeName表示一个节点的名字
如本例: document.nodeName 文档的节点名,是 固定的#document div1.nodeName 元素的节点名,是对应的标签名 div div1.attributes[0].nodeName 属性的节点名,是对应的属性名 id div1.childNodes[0].nodeName 内容的节点名,是固定的 #text <html>
<div id="d1">hello HTML DOM</div>
<script>
function p(s){
document.write(s);
document.write("<br>");
}
var div1 = document.getElementById("d1");
p("document的节点名称:"+document.nodeName);
p("div元素节点的节点名称:"+div1.nodeName);
p("div下属性节点的节点名称:"+div1.attributes[0].nodeName);
p("div下内容节点的节点名称:"+div1.childNodes[0].nodeName);
</script>
</html>
<html> <div id="d1">hello HTML DOM</div> <script> function p(s){ document.write(s); document.write("<br>"); } var div1 = document.getElementById("d1"); p("document的节点名称:"+document.nodeName); p("div元素节点的节点名称:"+div1.nodeName); p("div下属性节点的节点名称:"+div1.attributes[0].nodeName); p("div下内容节点的节点名称:"+div1.childNodes[0].nodeName); </script> </html>
nodeValue表示一个节点的值
如本例: document.nodeValue 文档的节点值,是 null div1.nodeValue 元素的节点值,是null div1.attributes[0].nodeValue 属性的节点值,是对应的属性值 d1 div1.childNodes[0].nodeValue 内容的节点值,是内容 即: #text <html>
<div id="d1">hello HTML DOM</div>
<script>
function p(s){
document.write(s);
document.write("<br>");
}
var div1 = document.getElementById("d1");
p("document是没有nodeValue的:"+document.nodeValue);
p("元素节点是没有nodeValue的:"+div1.nodeValue);
p("属性节点id的nodeValue:"+div1.attributes[0].nodeValue);
p("内容节点的nodeValue:"+div1.childNodes[0].nodeValue);
</script>
</html>
<html> <div id="d1">hello HTML DOM</div> <script> function p(s){ document.write(s); document.write("<br>"); } var div1 = document.getElementById("d1"); p("document是没有nodeValue的:"+document.nodeValue); p("元素节点是没有nodeValue的:"+div1.nodeValue); p("属性节点id的nodeValue:"+div1.attributes[0].nodeValue); p("内容节点的nodeValue:"+div1.childNodes[0].nodeValue); </script> </html>
nodeType表示一个节点的类型
不同的节点类型,对应的节点类型值是不一样的 如本例: document.nodeType 文档的节点类型,是 9 div1.nodeType 元素的节点类型,是 1 div1.attributes[0].nodeType 属性的节点类型,是 2 div1.childNodes[0].nodeType 内容的节点类型,是 3 <html>
<div id="d1">hello HTML DOM</div>
<script>
function p(s){
document.write(s);
document.write("<br>");
}
var div1 = document.getElementById("d1");
p("document的nodeType是:"+document.nodeType);
p("元素节点的nodeType是:"+div1.nodeType);
p("属性节点的nodeType是:"+div1.attributes[0].nodeType);
p("内容节点的nodeType是:"+div1.childNodes[0].nodeType);
</script>
</html>
<html> <div id="d1">hello HTML DOM</div> <script> function p(s){ document.write(s); document.write("<br>"); } var div1 = document.getElementById("d1"); p("document的nodeType是:"+document.nodeType); p("元素节点的nodeType是:"+div1.nodeType); p("属性节点的nodeType是:"+div1.attributes[0].nodeType); p("内容节点的nodeType是:"+div1.childNodes[0].nodeType); </script> </html>
修改与获取内容的值可以通过 childNodes[0].nodeValue进行
还有个简便办法就是通过innerHTML进行。 效果是一样的。 <html>
<div id="d1">hello HTML DOM</div>
<script>
function changeDiv1(){
document.getElementById("d1").childNodes[0].nodeValue= "通过childNode[0].value改变内容";
}
function changeDiv2(){
document.getElementById("d1").innerHTML= "通过innerHTML改变内容";
}
</script>
<button onclick="changeDiv1()">通过内容节点方式改变div的内容</button>
<button onclick="changeDiv2()">通过innerHTML改变div的内容</button>
</html>
<html> <div id="d1">hello HTML DOM</div> <script> function changeDiv1(){ document.getElementById("d1").childNodes[0].nodeValue= "通过childNode[0].value改变内容"; } function changeDiv2(){ document.getElementById("d1").innerHTML= "通过innerHTML改变内容"; } </script> <button onclick="changeDiv1()">通过内容节点方式改变div的内容</button> <button onclick="changeDiv2()">通过innerHTML改变div的内容</button> </html>
元素上的属性,比如id,value 可以通过 . 直接访问
如果是自定义属性,那么可以通过如下两种方式来获取 getAttribute("test") attributes["test"].nodeValue 注: class需要通过className获取 <html>
<div id="d1">hello HTML DOM</div>
<script>
function get(){
var input1 = document.getElementById("input1");
var s = "id="+input1.id + "<br>";
s += "value="+input1.value + "<br>";
s += "class="+input1.className + "<br>";
s += "test="+input1.getAttribute("test")+ "<br>";
s += "test="+input1.attributes["test"].nodeValue+ "<br>";
document.getElementById("d1").innerHTML= s;
}
</script>
<input id="input1" class="class1 class2" test="t1" value="这是一个输入框">
<br>
<button onclick="get()">获取input的属性</button>
<div style="height:30px"></div>
</html>
因为截至目前的学习进度,还没有学习服务端的内容,那么就在js使用简单的验证规则: 如果账号是以a或者A开头的,那么就提示已经存在了。
<html>
<script>
function check(){
var name = document.getElementById("name").value;
var noMessage= document.getElementById("noMessage");
var yesMessage= document.getElementById("yesMessage");
noMessage.style.display="none";
yesMessage.style.display="none";
if(0!=name.length){
var firstChar = name.charAt(0);
if('a'==firstChar || 'A'==firstChar)
noMessage.style.display="inline";
else
yesMessage.style.display="inline";
}
}
</script>
<input id="name">
<input type="button" value="验证" onclick="check()">
<span id="noMessage" style="color:red;display:none;">账号已经存在</span>
<span id="yesMessage" style="color:green;display:none;">账号可以使用</span>
</html>
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
<html>
<script>
function check(){
var name = document.getElementById("name").value;
var noMessage= document.getElementById("noMessage");
var yesMessage= document.getElementById("yesMessage");
noMessage.style.display="none";
yesMessage.style.display="none";
if(0!=name.length){
var firstChar = name.charAt(0);
if('a'==firstChar || 'A'==firstChar)
noMessage.style.display="inline";
else
yesMessage.style.display="inline";
}
}
</script>
<input id="name">
<input type="button" value="验证" onclick="check()">
<span id="noMessage" style="color:red;display:none;">账号已经存在</span>
<span id="yesMessage" style="color:green;display:none;">账号可以使用</span>
</html>
<script>
function switch1(){
var img = document.getElementById("img");
img.src = "http://how2j.cn/study/gareen.jpg";
}
function switch2(){
var img = document.getElementById("img");
img.attributes["src"].nodeValue="http://how2j.cn/study/katarina.jpg";
}
</script>
<button onclick="switch1()">通过src属性切换图片1</button> <br>
<button onclick="switch2()">通过属性节点切换图片2</button> <br>
<img id="img" width="100" src="http://how2j.cn/study/katarina.jpg"/>
<script> function switch1(){ var img = document.getElementById("img"); img.src = "http://how2j.cn/study/gareen.jpg"; } function switch2(){ var img = document.getElementById("img"); img.attributes["src"].nodeValue="http://how2j.cn/study/katarina.jpg"; } </script> <button onclick="switch1()">通过src属性切换图片1</button> <br> <button onclick="switch2()">通过属性节点切换图片2</button> <br> <img id="img" width="100" src="http://how2j.cn/study/katarina.jpg"/>
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
<script>
function switch1(){
var img = document.getElementById("img");
img.src = "http://how2j.cn/study/gareen.jpg";
}
function switch2(){
var img = document.getElementById("img");
img.attributes["src"].nodeValue="http://how2j.cn/study/katarina.jpg";
}
</script>
<button onclick="switch1()">通过src属性切换图片1</button> <br>
<button onclick="switch2()">通过属性节点切换图片2</button> <br>
<img id="img" width="100" src="http://how2j.cn/study/katarina.jpg"/>
<script> function switch1(){ var img = document.getElementById("img"); img.src = "http://how2j.cn/study/gareen.jpg"; } function switch2(){ var img = document.getElementById("img"); img.attributes["src"].nodeValue="http://how2j.cn/study/katarina.jpg"; } </script> <button onclick="switch1()">通过src属性切换图片1</button> <br> <button onclick="switch2()">通过属性节点切换图片2</button> <br> <img id="img" width="100" src="http://how2j.cn/study/katarina.jpg"/>
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
<div style="height:500px">
<input type="text" value="3.1415926" id="in">
<button onclick="judge()">判断</button>
<span id="out"></span>
</div>
<script>
function judge(){
var num=document.getElementById("in").value;
if(parseInt(num)==num){
document.getElementById("out").innerHTML="是整数";}
else{
document.getElementById("out").innerHTML="不是整数";}
}
</script>
<div style="height:500px"> <input type="text" value="3.1415926" id="in"> <button onclick="judge()">判断</button> <span id="out"></span> </div> <script> function judge(){ var num=document.getElementById("in").value; if(parseInt(num)==num){ document.getElementById("out").innerHTML="是整数";} else{ document.getElementById("out").innerHTML="不是整数";} } </script>
HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。
![]()
问答区域
2019-01-17
第10题 :判断值为空,值不是数,值不是整数的完整代码
1 个答案
阿兔 跳转到问题位置 答案时间:2019-01-18 在后面看到判断不是整数有更好的方法
if( String(value).indexOf('.') > -1){
document.getElementById("d1").innerHTML = "不是整数"
return ;
}
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2018-11-21
示例10
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2018-11-21
作业6
2018-11-21
6的作业
2018-08-24
答案:练习-判断输入框里的值,是否是整数(浮点数也不行)
2018-08-09
交作业
2018-08-07
看不见第十题。。。。。
2018-07-31
示例六有关获取属性值的问题
2018-07-26
你们示例10做的太繁琐了
2018-07-05
这段代码是什么意思呢
2018-06-01
实例代码里边的P是什么意思?
2018-05-20
第十被NaN坑了好久,后来才发现可以用isNan()函数判断
2018-04-07
当一个div里面有两个或者多个span这样的子元素的时候,div.childNodes[0].nodeValue;这句没有取到值
2018-03-27
关于示例5
2018-03-24
示例6答案,总觉得好蠢的代码
2018-02-27
作业
2018-02-05
第十题滴作业
2018-01-24
为什么前边的计算器和江南皮革厂可以用value直接赋值,本章节要用nodevalue呢?
2018-01-12
实例10。。提交作业
2017-12-25
示例8问题
2017-12-25
例6答案,看看有没有问题
2017-10-02
第十题没有答案,那我贴一个老师不介意吧
2017-09-28
+=
2017-08-13
是不是nodeValue 不能及时更新啊
2017-06-18
第十题怎么判断是不是浮点数
2017-04-20
示例10 答案,这样写可以吗?希望老师给些指导
2017-04-19
示例11的问题
2017-03-17
示例5最后面为什么要特意加一个<div style="height:30px"></div>
2017-02-15
示例8代码问题
2017-02-04
示例 10 没有答案, 这样的代码是否可以
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|