首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript getElementByID

Javascript getElementByID
EN

Stack Overflow用户
提问于 2011-01-30 01:23:37
回答 6查看 1.9K关注 0票数 1

我使用的是Javascript2.0,我想用CodeIgniter更改div中的内容,但我似乎无法“获得”它。下面是一个简化版本来演示我的问题:

我的控制器:

代码语言:javascript
复制
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 class Index extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('index.php');
    }
}
/* End of file index.php */
/* Location: ./application/controllers/index.php */

我的观点:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title><?php echo $this->config->item('app_name'); ?> : Welcome!</title>    
<script type="text/javascript">   

function returnObjById( id )
{
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}

alert('fetching moonstarttime : ' + returnObjById('moonstarttime')  );

</script>
</head>
<body>

<div id="moonstarttime" name="moonstarttime" >I want this</div> 

</body>
</html>

但是当页面加载时,我总是得到fetching moonstarttime : null。我在Chrome和IE中都试过了,我在这里做错了什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-01-30 01:26:48

代码语言:javascript
复制
window.onload = function(){
 function returnObjById( id )
 {
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
 }
 alert('fetching moonstarttime : ' + returnObjById('moonstarttime')  );
}

或者,在关闭window.onload标记之前,只需将脚本放在原处,而不是访问主体。

票数 3
EN

Stack Overflow用户

发布于 2011-01-30 01:26:03

javascript在节点加载之前执行。

票数 3
EN

Stack Overflow用户

发布于 2011-01-30 01:27:16

您在页面的页眉中运行脚本,因此它在主体加载之前运行。您无法访问该元素,因为它尚不存在。

将脚本放在元素之后,或者将其放在一个函数中,然后从body的onload事件调用该函数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4838273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档