我使用的是Javascript2.0,我想用CodeIgniter更改div中的内容,但我似乎无法“获得”它。下面是一个简化版本来演示我的问题:
我的控制器:
<?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 */我的观点:
<!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中都试过了,我在这里做错了什么?
发布于 2011-01-30 01:26:48
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标记之前,只需将脚本放在原处,而不是访问主体。
发布于 2011-01-30 01:26:03
javascript在节点加载之前执行。
发布于 2011-01-30 01:27:16
您在页面的页眉中运行脚本,因此它在主体加载之前运行。您无法访问该元素,因为它尚不存在。
将脚本放在元素之后,或者将其放在一个函数中,然后从body的onload事件调用该函数。
https://stackoverflow.com/questions/4838273
复制相似问题