django 写了个网站,在HTML上动态生成了许多tr和td,目前一个需求就是鼠标移到某个tr上就弹出相应的td的内容,一开始是用js on和live方法给全部tr绑定动态事件,后来发现没效果,最后用each 遍历全部tr 才搞好的
代码如下:
var edn = ''; $('.gradeX #image').each(function () { $(this).mouseover(function(){ edn = $(this).html(); edn = edn.replace('<span id="tip" style="display: none">', '<span id="tip">'); $(this).html(edn); }) }) var edn = ''; $('.gradeX #image').each(function () { $(this).mouseout(function(){ edn = $(this).html(); edn = edn.replace('<span id="tip">', '<span id="tip" style="display: none">'); $(this).html(edn); }) });
'.gradeX'是tr的class, '#image' 是td内一个div的id,是用替换源代码的形式完成提示的
另外弄了下django的全文搜索,因为搜索结果在渲染之前需要处理一下,haystack自带的'hightlight' 关键字高亮tag用不了,所以关键字高亮我用js 的正则表达式批量替换完成的:
function changecolor () { var a = $('#keyword').html(); var edn = ''; $('.gradeX').each(function () { edn = $(this).html(); var b = '<strong style="color: #ff3928">' + a + '</strong>' var reg=new RegExp(a,"g"); var newstr=edn.replace(reg, b); $(this).html(newstr); })
'#keyword'是后台传过来的, '.gradeX'是动态生成的tr