私は通常、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」というエラーが表示されます。これは、最初に機能した同じヘッダーを選択しても、2 回目のクリックから getElementById が機能していないことを示唆しています。
誰かが私が間違っていることを教えてもらえますか?
ありがとう