[英]getElementById('___').innerHTML Destroying Element's ID?
我试图做到这一点,以便当用户单击导航菜单时,标题更改为该标题,并且主要内容也更改。 我宁愿尝试避免为此使用框架。
$('op').click(function(){
document.getElementById('title').innerHTML=this.innerHTML + ((this.innerHTML.indexOf("'s")==this.innerHTML.length-2) ? " " : "'s ") + this.parentNode.id + " | Le Lepids";
document.getElementById('content').innerHTML=document.getElementById(this.innerHTML + '_' + this.parentNode.id).innerHTML;
});
// If the code looks ugly and you can't read it, just tell me.
但是,发生的是标题每次都会完美地更改,但是内容仅更改一次。
例如,它将在第一次正常运行,然后在此后的其他任何时间都无法运行。
为什么会这样呢? 它会破坏ID的“内容”吗? 我虽然没有使用outterHTML。 如果剂量大,为什么标题会变好?
编辑:好的,所以我想我用几行PHP来解决它。 但是我仍然想知道为什么Mia DiLorenzo所做的工作可以正常工作,为什么它不能在我的网站上工作……代码与变量名完全相同。
这还不是一个完整的答案(我们需要您的HTML信息),但是我认为此信息正在逐步解决,无法在评论中传达。
在伪代码中(使其更易于理解),这是您的代码正在做的事情:
对于#content
项:
op
元素的innerHTML。 '_'
。 op
元素的parentNode.id。 document.getElementById()
查找该对象。 #content
项中。 对于#title
项目:
op
元素的innerHTML。 "'s"
结尾,则将" "
添加到innerHTML上,否则添加"'s"
。 " | Le Lepids"
。 #title
项的innerHTML设置为该结果。 我可以想到几个原因,为什么#content
项可能总是设置为相同的项,或者为什么它有时有时只能工作,但是我们必须查看您的实际HTML才能确定何时或为什么发生。
我不确定您到底想要什么,但我还是写了一些东西http://jsfiddle.net/69FDT/1/
我将$('op')
更改$('op')
$('p')
并添加了一些div以匹配更改content
Javascript行。 你还有什么意思吗
<div id="container">
<div>Click on these words</div>
<p>change</p>
<p>modify</p>
<p>alter</p>
<br>
<div id='title'>Title</div>
<div id='content'>content</div>
<br>
<div id="change_container">change placeholder div</div>
<div id="modify_container">modify placeholder div</div>
<div id="alter_container">alter placeholder div</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.