不要问为什么;我只需要这样做: - )
我有以下代码动态填充已经有css按钮的div。该按钮的属性在此过程中动态更改。它在FF中运行良好,但不适用于IE或Chrome:
<div id="home_panel_text" class="divNextClass"></div>
<div id="home_panel_bottom">
<a class="aViewNextClass" id="" href="##"><span>View</span></a>
</div>
function loadNextClass() {
var v_object_type = "ajax";
var v_onclick = 'return hs.expand(this)';
var v_onclick2 = 'return hs.htmlExpand(this,{objectType:"ajax"})';
var x = '<table border="0" cellspacing="0" cellpadding="3">';
$.getJSON("/components/system.cfc?method=getNextClass&returnformat=json&queryformat=column",{},function(res,code) {
if(res.ROWCOUNT == 1){
x += '<tr><td><strong>Class</strong></td><td>' + res.DATA.TITLE + '</td></tr>'
x += '<tr><td nowrap><strong>When</strong></td><td>' + res.DATA.STARTDATE + ' ' + res.DATA.STARTTIME + '-' + res.DATA.ENDTIME + '</td></tr>'
x += '<tr><td nowrap><strong>Cost</strong></td><td>$' + res.DATA.PRICE + '</td></tr>';
$('.aViewNextClass').attr({
"id":res.DATA.STOREITEMID,
"href":"class_detail.cfm?id=" + res.DATA.STOREITEMID,
"onclick":v_onclick2
}).addClass('highslide');
}else{
x += '<tr><td colspan="2">No classes found</td></tr>';
}
x += '</table>'
$('.divNextClass').html(x);
});
}
$(function() {
loadNextClass();
})
在Chrome中,生成的按钮链接如下所示:
<a class="aViewNextClass highslide" id="14" href="class_detail.cfm?id=14"><span>View</span></a>
即。它缺少高滑动的onclick属性。
在FF中,链接看起来很好:
<a href="class_detail.cfm?id=14" id="14" class="aViewNextClass highslide " onclick="return hs.htmlExpand(this,{objectType:"ajax"})"><span>View</span></a>
任何帮助找出原因都会受到高度赞赏。
答案 0 :(得分:1)
改变这个:
$('.aViewNextClass').attr({
"id":res.DATA.STOREITEMID,
"href":"class_detail.cfm?id=" + res.DATA.STOREITEMID,
"onclick":v_onclick2
}).addClass('highslide');
到此:
$('.aViewNextClass').attr({
"id":res.DATA.STOREITEMID,
"href":"class_detail.cfm?id=" + res.DATA.STOREITEMID
}).addClass('highslide').click(v_onclick2)