我通常不会在javascript中做很多事情,但我创建了一个小的javascript函数,允许我单击一个手风琴的标题,然后在旁边的框中显示该标题的匹配文本。
function getTestimonial(x) {
var e = document.getElementById('slide'+x);
var b = document.getElementById('testimonials-slider');
var c = e.innerHTML;
b.innerHTML=c;
}
HTML:
<div id="slide1" class="slide">
<p>Test 1</p>
</div>
<div id="slide2" class="slide">
<p>Test 2</p>
</div>
<div id="testimonials-slider"><p>Test 1</p></div>
<div class="accordion-heading">
<a onclick="getTestimonial(1);" href="#collapseOne">
Header 1
</a>
</div>
<div class="accordion-heading">
<a onclick="getTestimonial(2);" href="#collapseTwo">
Header 2
</a>
</div>
它在第一次单击时工作正常,但之后每次我点击标题后,我都会收到以下错误:'TypeError:e is null'。这表明,从第二次单击开始,即使我选择了第一次工作的相同标头,getElementById也不起作用。
有人可以告诉我我做错了吗?
由于
答案 0 :(得分:0)
你有两个div id="slide1"
。第二个应该是"slide2"
否?
答案 1 :(得分:0)
确保您的HTML中的ID是唯一的。我相信它应该是slide1,slide2等。 此外,id为'testimonials-slider'的元素在哪里?可能这会解决你的问题!
答案 2 :(得分:0)
真的很傻。我已经将幻灯片div放在正在更改的推荐滑块中,所以当我替换innerHTML时,它会覆盖我的幻灯片div。我已将这些移到了div之外,现在它工作正常。如果有人想使用它,上面的例子也可以正常工作。