2 sinat 34890672 sinat_34890672 于 2016.05.05 13:00 提问

javascript中函数调用问题
 第一种方法:
<script type="text/javascript">

function demo()
{

var divObj=document.getElementById("divid");
var name=divObj.nodeName;
alert(name);
}

</script>

</head>


<body>
<input type="button" id="inputid" value="yanshi" onclick="demo()"/>
<div  id="divid">wdhsjaldjkghd</div>

第二种方法:

<script type="text/javascript">


var divObj=document.getElementById("divid");

var name=divObj.nodeName;

alert(name);

</script>

</head>


<body>
<input type="button" id="inputid" value="yanshi" onclick="demo()"/>
<div  id="divid">wdhsjaldjkghd</div>
为什么第二种方法不行

7个回答

CSDNXIAOD
CSDNXIAOD   2016.05.05 13:11

javascript中函数调用
javascript中函数调用
第二季:JavaScript中的函数调用
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

bdmh
bdmh   Ds   Rxr 2016.05.05 13:16

第二个就不是个函数,你需要某个地方调用这些代码

showbo
showbo   Ds   Rxr 2016.05.05 13:42

第二种script放div下面,要不找不到对象

wdhsjaldjkghd

<script type="text/javascript">


var divObj=document.getElementById("divid");

var name=divObj.nodeName;

alert(name);

</script>
sinat_20630273
sinat_20630273   2016.05.05 13:55

你说呢。第二种,你给它设了onclick却没有写这个方法。当然无法执行啊。

sinat_34890672
sinat_34890672 回复Bohnens: 谢谢耐心解答 ,我懂啦
一年多之前 回复
sinat_20630273
sinat_20630273 执行是有顺序的,第一种可以,是写了一个回调方法。而第二种,div写在了js的后面,也没有回调,获取不到这个id.
一年多之前 回复
cyangqing
cyangqing 回复sinat_34890672: 页面加载的时候就已经执行了那段js了
一年多之前 回复
sinat_34890672
sinat_34890672 那javascript不会直接解析这段话吗,我在<script>里面写alert(“字符串”)可以执行啊
一年多之前 回复
azraelluck
azraelluck   2016.05.05 14:41

js在html中的加载是有执行顺序的,你要将这段js代码放在div的后面 js才可以获取到divid的值,

qq_25972989
qq_25972989   2016.05.05 20:06

第二个方法里定义demo方法了吗图片说明

qq_25972989
qq_25972989   2016.05.05 20:07

我觉得如果不用方法alert的话,在加载head标签的时候,并没有加载到div,所以无法获取divId

Csdn user default icon
上传中...
上传图片
插入图片