• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

这段代码为什么显示A is undefined

Document



博士~~~
本科~~~
大专~~~
幼儿园~~~

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与5

你那个ChildNodes应改为:childNodes(小写c)就可以执行了。

使用道具 举报

Document博士~~~本科~~~大专~~~幼儿园~~~从js逐句来分析。

  • 获开id为“edu”的元素节点。
  • 获开该元素下的子节点数组(nodelist)。嗯C写错了,下次注意。(小驼峰法命名函数跟变量就是第一个单词首字母小写,之后单词首字母大写。大驼峰就是所有单词首字母都大写,推荐对象命名使用大驼峰,这样一眼就能区分对象跟函数和变量的区别了,函数也是一种变量)
  • 弹出警告窗A(0)是id“edu”元素的第一个子节点。首先你的与之间有空格,因此这里有一个空白节点,IE下没有,其他浏览器都不会忽略这个空白节点,这点是第二。
  • 你想取得第一个子节点,实际上有一个空白节点,应该是第二个节点value="博士"的这个的文本,因此你使用了value,应该使用nodeValue才对。还有一个问题在于文本节点本身是元素节点的子节点。也就是A[1].firstchild.nodeValue
  • 最后你需要继续加油,哈哈。

使用道具 举报

首先是childNodes大小写问题呢,然后childNodes指所有子元素(包括文本元素),当你代码这么写:
博士~~~本科~~~//这里select和option之间,option和option之间有空白,这段空白就是文本节点;因此childNodes[0]值得是中间那段空白,自然value为undefined;

可以用children(只获开元素节点)来代替childNodes[0]

使用道具 举报

- -别去写这种糟糕的代码,没任何意义,明白一些问题,属性名永远是小写开头,所以必然不可能出现ChildNodes这种东西。看你这写的代码,新手的实在有些过分了。

使用道具 举报

首先应该是 var A=gra.childNodes;
其次A返回的是一个nodeList,里面有9个节点,而第一个是文本节点()
弹出的肯定是undefined。所以可以根据nodetype来选择你想要的

使用道具 举报

发新帖

发布任务需求已有1031290位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!