Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加内容问题_Javascript_Jquery - Fatal编程技术网

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
的一种方法)。感谢您的帮助