带★那句,问题出在那里..
<div id="one">
<div name="two">
<div name="aaa">
1111
</div>
<div id="two" name="bbb">
2222
</div>
<div name="ccc">
3333
</div>
</div>
</div>
<script>
var obj=document.getElementById('two');
console.log("***"+obj.nextSibling.name); //★★★★★这个在非IE怎么总是输出不了?
console.log("***"+obj.childNodes[0].nodeValue); //2222
</script>
只要给我改好就行了,我会结合自己慢慢查,要是说理论我能会,我就不问了;
就像 一个老虎 ,你听别人介绍,你也不懂什么是老虎,弄一只老虎让你一看就知道了!
要用nextElementSibling,以及getAttribute方法:
补充一下,我用的是Chrome浏览器,是不能使用.name获取name属性的:
好吧,最后更新一下,找到原因了:因为div、p等元素是没有name属性的,当你加上了name属性的时候,就相当于给他使用setAttribute("name", "blablabla..."),这个时候使用对象obj的属性name(obj.name)是访问不到的,只能使用getAttribute方法。
另外你可以测试一下input标签,当中添加name属性,用obj.name就可以访问。