Javascript 添加内容问题
在这里,我在尝试在页面中添加内容时遇到了一些问题Javascript 添加内容问题,javascript,jquery,Javascript,Jquery,在这里,我在尝试在页面中添加内容时遇到了一些问题 <body> <div id="wrapper"> <div id="nav"> <ul> <li><a href="#"><span>exercizeI</span></a></li> <li>
<body>
<div id="wrapper">
<div id="nav">
<ul>
<li><a href="#"><span>exercizeI</span></a></li>
<li><a href="#"><span>exercizeII</span></a></li>
<li><a href="#"><span>........</span></a></li>
<li><a href="#"><span>........</span></a></li>
</ul>
</div>
<div id="content"></div>
</div>
</body>
所以我试着使用那段代码,但它不起作用
var table1='<table>..some content..</table>}';
$('#nav li a:eq(1)').click(function (){$('#content').innerHTML='habarlaaaa';});
var table1='..some content..}';
$('nav li a:eq(1)')。单击(函数(){$('content')。innerHTML='habarlaaaa';});
然后试了这个
function press(){
var but = document.getElementById('wrapper').getElementById('nav').getElementsByTagName('ul')[0].getElementsByTagName('li')[1].getElementsByTagName('a')[0];
var table1='<table>..some content..</table>}';
var content = document.getElementById('wrapper').getElementById('content');
but.onclick=function(){content.innerHTML=table1};
};
功能按键(){
var but=document.getElementById('wrapper').getElementById('nav').getElementsByTagName('ul')[0]。getElementsByTagName('li')[1]。getElementsByTagName('a')[0];
var table1=“…某些内容…”;
var content=document.getElementById('wrapper').getElementById('content');
但是.onclick=function(){content.innerHTML=table1};
};
…更糟的是,给了我:
未捕获类型错误:对象没有方法“getElementById”
错误
为什么会这样
BR,Stephan使用jQuery,您可以像这样使用html()函数:
$('#nav li a:eq(1)').click(function (){$('#content').html(table1);});
要在content div内添加数据,请执行以下操作:
$('#content').append("data");
第二次尝试失败的原因是将getElementById()应用于上一次“getElementById()”的结果 在您的第一个Javascript代码中,您混合了DOM方法和jQuery代码的概念。请尝试以下代码
$('#nav li a:eq(1)').click(function (){$('#content').eq(0).html('habarlaaaa');});
不同之处在于
$('#content').innerHTML = '......';
你应该用
.eq(0).html('habarlaaaa')
同意Vincent的观点,原因是当您使用jQuery函数时,
$
,您不会得到DOM元素,而是得到一个表示您所选内容的jQuery对象。有几种方法可以做到这一点,其中一种@vincent ramdhanie已经提到。如果要获取实际的DOM元素,可以执行以下操作之一:
$('#content')[0].innerHTML='habarlaaaa';
或者这个:
$('#content').get(0).innerHTML='habarlaaaa';
请记住:
innerHTML
是DOM元素的属性,而不是jQuery对象。我删除了对的引用,因为这个问题实际上与AJAX无关。执行getElementById().getElementById()
没有意义Id
-s在html文档中(应该)是唯一的,因此您只需要一个getElementById
调用(这是document
的一种方法)。感谢您的帮助