为了账号安全,请及时绑定邮箱和手机立即绑定

var lastname=document.getElementsByName("fangchan"); 无法使用lastname.className

var lastname=document.getElementsByName("fangchan"); 无法使用lastname.className

心晴0623 2016-04-10 00:23:27
 <script type="text/javascript">     var lastname=document.getElementsByName("fangchan");     //!!!!!!!!定义的全局变量,然后在下面的用document.write(lastname.className);测试不行啊     //lastname是object nodelist 不是object HTMLElement     function hidetext(obj)       {  var myname = obj.parentNode;         var mynamevalue = myname.getAttribute("name");                var content = document.getElementById("content");                  var mycontent = content.childNodes;                  for(var m=0; m< mycontent.length;m++)          {                 if(!(mycontent[m].nodeType==3 && !/\S/.test(mycontent[m].nodeValue))){             var myidvalue=mycontent[m].getAttribute("id");                           if(myidvalue==mynamevalue){                  mycontent[m].style.display="block";                  myname.className="on";                  if(lastname!=myname) //判断为了重复点击同一个不会把它的样式消掉                 {                       lastname.className="";                       lastname=myname;                    }                              }                 else                  mycontent[m].style.display= "none";             }                  else                    continue;          }      }        </script>
查看完整描述

2 回答

?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

document.getElementsByName你确定你的浏览器支持这个方法或者元素有name属性么?

查看完整回答
反对 回复 2016-04-10
  • 心晴0623
    心晴0623
    有name属性的。document.getElementsByName这个在别的地方都可以用的,在这里是可以获得NodeList的。就是lastname.className会是空。我猜是不是节点有自己属性和方法不能访问标签属性。不知道有没有其他方法解决获取html里面的某个特定标签并修改他的className呢??求解求解
  • _潇潇暮雨
    _潇潇暮雨
    正如你所说啊,获得的是集合啊,你不妨取集合的第一个元素试试。
  • _潇潇暮雨
    _潇潇暮雨
    这个就是左值和右值了,即:你不可能将一个常量赋值给一个变量,也就是说如果a是变量,那么10 = a将会报语法错误。
点击展开后面3
  • 2 回答
  • 0 关注
  • 1400 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信