0
我想呈現一個JSON對象在一個手風琴的錨點標記的JSP上點擊應調用一個jQuery函數。這個jQuery函數然後打開了那個手風琴。調用JSON函數與JSON設置錨
這是jQuery函數:
function accordion(){
$('.mrc-accordion .columns > ul > li > a').click(function(e){
if(!$(this).parents('li').hasClass('active')){
$(this).parents('li').addClass('active').children('section').slideToggle();
}else{
$(this).parents('li').removeClass('active').children('section').slideToggle();
}
e.preventDefault();
return false;
})
}
這是JSP代碼:
<div class="mrc-accordion mrc-accorweb mrc-newsRoom">
.
.
.
<ul id="somerandom">
</ul>
</div>
我渲染JSON對象是這樣的:
var webcastsListing = document.getElementById('somerandom');
jsonString=getFormattedJson(webcast);
webcastsListing.innerHTML = jsonString;
function getFormattedJson(webcast) {
var temp = '<li><a href="#">'+webcast.title+'</a><section><ul class="mrc-contactDetail webcast"><li><p>'+webcast.description+'</p></li></ul></section></li>';
return temp;
}
的jsonString對象正在創建如下:
<li><a href="#">Mercer Webcasts 2014 First Detail page</a><section><ul class="mrc-contactDetail webcast"><li><p>Mercer Webcasts 2014 First Detail page description</p></li></ul></section></li>
它在<ul id="somerandom"></ul>
建立了很好的一樣:
<ul id="somerandom"><li><a href="#">Mercer Webcasts 2014 First Detail page</a><section><ul class="mrc-contactDetail webcast"><li><p>Mercer Webcasts 2014 First Detail page description</p></li></ul></section></li></ul>
,但是當我點擊的錨標記,功能手風琴()不會被調用。而如果我手動設置的代碼片段:在JSP
<li><a href="#">Mercer Webcasts 2014 First Detail page</a><section><ul class="mrc-contactDetail webcast"><li><p>Mercer Webcasts 2014 First Detail page description</p></li></ul></section></li>
內<ul id="somerandom"></ul>
,我可以看到被調用的函數錨的點擊預期和手風琴按預期工作。我不明白爲什麼使用Javascript和JSON做同樣的事情時,函數accordion()沒有被調用。
任何幫助,非常感謝。
謝謝。
嘿感謝的原因和建議,第二個方法只是正常工作。僅供參考。我如何確保在從JSON字符串填充ul元素之後調用accordion()函數。 – user972418
在'webcastsListing.innerHTML = jsonString;'之後調用'accordion();'它應該可以正常工作。 –