JS td 动态事件的处理

来源:互联网 发布:怎么推广app软件 编辑:程序博客网 时间:2024/05/25 18:12

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