`
mamaoyuan625
  • 浏览: 177153 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

jquery如何对js动态产生的表格行高亮显示

阅读更多

前几天本人在用jquery的时候, 鼠标移到table上的td时,所在的行高亮显示其他颜色,网上很多例子,包括官方的例子也只是针对页面上的静态数据,但是实际开发中我们操作的数据确实动态产生的,于是作了个测试,始终不行,在查资料,对js动态产生的表格数据,关于这方面的资料太少了,即使有网友提到这方面的也说不能操纵动态的。可能是本人的道行不够吧,花了些时间,终于做出来了

 

<script src="script/jquery-1.2.6.js" type="text/javascript"></script>
		<script language="javascript">
	$(document).ready( function() {
		$("#bt").click( function() {

			$.ajax( {
				type :"post",
				url :"send.do?method=query2",
				data :null,
				success : function(data) {
					$("#t1_body").empty();
					var ul = eval('(' + data + ')');

					for ( var i = 0; i < ul.length; i++) {
						var tr = $("<tr></tr>");

						var td = $("<td></td>");
						var td1 = $("<td></td>");
						var td2 = $("<td></td>");
						td.append(ul[i].id);
						td1.append(ul[i].age);
						td2.append(ul[i].name);
						tr.append(td);
						tr.append(td2);
						tr.append(td1);
						$("#table1").append(tr);
					}
				}
			});

			$.getScript("script/jquery-1.2.6.js", 
				function() {
					 $("table tr").mouseover( function() {$(this).addClass("over")}),
					 $("table tr").mouseout( function() {$(this).removeClass("over")
				});
			});
		});	
		});
</script>

 以前是把

 $("table tr").mouseover( function() {$(this).addClass("over")}),
 $("table tr").mouseout( function() {$(this).removeClass("over")

 放到ready的function中和click是并行的,

如:

<script language="javascript">
	$(document).ready( function() {
		$("#bt").click( function() {

	$.ajax( {
		type :"post",
		url :"send.do?method=query2",
		data :null,
		success : function(data) {
		$("#t1_body").empty();
		var ul = eval('(' + data + ')');

		for ( var i = 0; i < ul.length; i++) {
			var tr = $("<tr></tr>");

			var td = $("<td></td>");
			var td1 = $("<td></td>");
			var td2 = $("<td></td>");
			td.append(ul[i].id);
			td1.append(ul[i].age);
			td2.append(ul[i].name);
			tr.append(td);
			tr.append(td2);
			tr.append(td1);
			$("#table1").append(tr);
					}
				}
			});

});	

$("table tr").mouseover( function() {$(this).addClass("over")}),
 $("table tr").mouseout( function() {$(this).removeClass("over")
		});

 而且没有

 $.getScript("script/jquery-1.2.6.js",
    function() {});

这样的话只要是动态产生的表格数据,鼠标移到上面却不起作用,起作用的是原来页面上的静态数据。

现在要把

$.getScript("script/jquery-1.2.6.js",
function() {

$("table tr").mouseover( function() {$(this).addClass("over")}),
$("table tr").mouseout( function() {$(this).removeClass("over")
});
});
放到click的function中,在ajax之后

具体原理本人现在还在研究中。

 

项目随后下载

分享到:
评论
7 楼 mamaoyuan625 2009-09-08  
在网友的提示下,终于做出来了,

$.getScript("script/jquery-1.2.6.js",
function() {
$("table tr").mouseover( function() {$(this).addClass("over")}),
$("table tr").mouseout( function() {$(this).removeClass("over")
});
});

这段代码都可以省略掉,
在创建tr时

var tr = $("<tr onmouseover=$(this).addClass('over') onmouseout=$(this).removeClass('over')></tr>");

即可 ,感谢各位
6 楼 dancewhyw 2009-09-04  
这个只是针对ie6
高于这个版本的浏览器 或者火狐之类的浏览器
直接用css的伪类就可以实现高亮了

除ie6以外的浏览器,你用css控制
比如你的over样式是红色
.over { background-color:red; }
写成
.over, table tr:hover { background-color:red; }

注意 tr:hover

这样效率最高,只不过ie6不支持 ,所以要写下针对ie6及以下版本的js代码
5 楼 mamaoyuan625 2009-09-03  
各位网友提到的方法,把
if ($.browser.msie&&$.browser.version<7.0){
$('tr', '#table1').each(function(){
    $(this).hover(
        function(){$(this).addClass('over');},
        function(){$(this).removeClass('over');}
    });
}



放到for里面



我都试了,不知道是什么原因,确实没有成功!


4 楼 mamaoyuan625 2009-09-03  
谢谢各位同道中人 ,jquery,我也才开始学习没多久,谢谢赐教
3 楼 dancewhyw 2009-09-03  
不好意思,前面面少写了each - -b

if ($.browser.msie&&$.browser.version<7.0){
$('tr', '#table1').each(function(){
    $(this).hover(
        function(){$(this).addClass('over');},
        function(){$(this).removeClass('over');}
    });
}

楼主试试吧
2 楼 dancewhyw 2009-09-03  
上面排版造成一点小错误
function(){$(this).removeClass('over');}
1 楼 dancewhyw 2009-09-03  
根本不需要这么麻烦
除ie6以外的浏览器,你用css控制
比如你的over样式是红色
.over { background-color:red; }
写成
.over, table tr:hover { background-color:red; }

你动态生成的数据

                    for ( var i = 0; i < ul.length; i++) {  
                        var tr = $("<tr></tr>");  
 
                        var td = $("<td></td>");  
                        var td1 = $("<td></td>");  
                        var td2 = $("<td></td>");  
                        td.append(ul[i].id);  
                        td1.append(ul[i].age);  
                        td2.append(ul[i].name);  
                        tr.append(td);  
                        tr.append(td2);  
                        tr.append(td1);  
                        $("#table1").append(tr);
                        if ($.browser.msie&&$.browser.version<7.0){
                            $('tr', '#table1').hover(
                                function(){$(this).addClass('over');},
                                function(){$(this).removeClass('over'}
                            );
                        }
                    }  

相关推荐

    原生javascript实现拖拽改变table表格行高(html)

    标题提到的“原生javascript实现拖拽改变table表格行高”是一项技术挑战,因为大部分在线资源都集中在改变列宽上,而对行高的调整相对较少。 首先,我们需要理解HTML表格的基本结构。表格由`&lt;table&gt;`元素定义,内部...

    jquery实现控制表格行高亮实例

    ### jQuery 实现控制表格行高亮实例解析 #### 一、引言 在网页开发过程中,经常需要对表格中的行进行交互式操作,比如当用户点击某一行时,该行会被高亮显示以便于用户更好地识别当前选中的数据。本文将详细介绍...

    spreadjs_自适应行高-demo.zip

    SpreadJS 的这一特性允许用户设置行高自动调整策略,根据文本内容动态调整行的高度,以避免内容被截断或显示不完整。这不仅适用于普通文本,也适用于合并单元格、富文本等复杂情况。 在"demo.html"中,我们可以...

    jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码

    在这个例子中,我们将深入探讨如何使用jQuery创建一个插件,以实现表格隔行变色以及鼠标滑过时的高亮显示效果。 首先,我们来看一下基本的HTML结构,这里包含了一个简单的表格,用于展示插件的效果: ```html ...

    jQuery仿Excel表格列表排序代码

    这通常通过在输入框中输入关键词,然后遍历表格数据,对比每一项与关键词的匹配度,将匹配的行高亮显示或者隐藏不匹配的行。这个功能可能涉及到DOM操作,例如使用jQuery的`filter()`或`grep()`函数。 **字体和样式*...

    jQuery表格信息自动向上滚动代码

    此外,为了实现行高亮,可能使用了jQuery的`.hover()`方法,该方法接受两个函数参数,分别对应鼠标进入和离开时的回调。在回调函数中,可以使用`.addClass()`和`.removeClass()`来添加或移除高亮的CSS类,使得鼠标...

    JQuery实现表格增删

    在网页开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理以及动画制作。本主题将深入探讨如何利用jQuery实现表格的增删功能,并结合Bootstrap框架创建美观的用户界面。 首先,jQuery提供了...

    jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例

    在网页设计中,表格(Table)是常见的数据展示方式,而为了提高用户体验,常常需要对表格进行美化,比如隔行变色以及高亮显示当前选中的行。本篇将详细介绍如何使用jQuery实现这一功能。 首先,jQuery是一个轻量级...

    jQuery简单仿Excel表格功能插件.zip

    例如,可能有一个名为"jquery.excel.js"的主脚本,它扩展了jQuery对象,添加了处理表格的新方法。这些方法可能包括: 1. 初始化表格:设置表格的初始状态,如列宽、行高、可编辑性等。 2. 数据操作:实现增删改查...

    jQuery 插件 表格高亮显示选中行 全选、反选(四种模式)

    在本文中,我们将深入探讨如何使用jQuery插件来实现表格中的行高亮显示以及全选、反选功能。这个插件特别适用于数据展示和交互性强的网页应用,它提供了四种不同的工作模式,使得用户可以更加方便地管理和操作表格...

    jquery table rowspan 表格单元格合并Demo.zip

    在网页开发中,jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了 JavaScript 的操作,包括对 HTML 文档的处理、事件处理、动画效果以及Ajax交互。在这个“jquery table rowspan 表格单元格合并Demo.zip”中,...

    jquery实现类Excel表格

    使用Handsontable时,首先需要在HTML文件中引入jQuery库和Handsontable的CSS及JS文件,然后通过JavaScript初始化表格,设置表格的列名、列宽、数据源等属性。以下是一个简单的初始化示例: ```javascript $...

    jQuery+PureCSS可编辑表格插件

    这款插件结合了jQuery的动态功能和PureCSS的简洁设计,为网页开发者提供了一种简单易用的可编辑表格解决方案。它允许用户直接在表格中编辑数据,提高了交互性和用户体验。下面将详细阐述这个插件的工作原理和关键...

    js网页表格导出excel文件代码.zip

    综上所述,"js网页表格导出excel文件代码.zip"是一个结合了JavaScript、jQuery和CSS技术的实用项目,通过学习和实践,开发者不仅可以掌握网页表格的操作,还能了解到如何实现数据的Excel导出,这对网页应用的开发...

    jQuery带滚动条头部固定表格代码.zip

    通过这个示例,开发者不仅可以学习到如何使用jQuery和EasyUI来构建动态的网页界面,还能了解到如何通过JavaScript和CSS解决实际问题,提升用户体验。这个压缩包中的代码就是一个很好的实践案例,它将向你展示如何...

    jQuery表格数据分页插件代码.zip

    jQuery表格数据分页插件是一种常见的前端开发工具,它能够帮助开发者轻松地在网页上实现数据的分页显示,提高用户体验。在这个名为"jQuery表格数据分页插件代码.zip"的压缩包中,包含了实现这一功能所需的基本文件,...

    jquery插件--表格树--GridTree(后台分页版本20091018)(过期)

    《jQuery插件——表格树GridTree(后台分页版本20091018)详解》 在Web开发中,展示数据的方式多种多样,其中表格由于其清晰、直观的特点,被广泛应用于数据呈现。然而,当数据量较大时,单纯的表格可能会显得过于...

    xlsx-js-style导出Demo,纯前端带样式导出表格数据

    纯前端导出,xlsx.js只能导出不能携带样式,所以我们用了xlsx-js-style插件,可以实现带样式的前端导出表格,样式可自定义,表格背景颜色、字体颜色、表格行高、表格行宽等等都可以自行设置,导出速度快,实现可以自己...

    Excel表格功能jQuery插件.zip

    【Excel表格功能jQuery插件】是一款专为网页设计者打造的JavaScript库,它利用jQuery的强大功能,为网页中的表格提供了类似Excel的交互体验。这款插件允许用户在网页上实现Excel的各种常见操作,极大地提升了表格的...

    漂亮的表格 HTML表格

    JavaScript(JS)则为表格添加交互性。在`niceforms.js`中,可能实现了当鼠标移动到表格上时,自动选中一行和一列的功能。这通常涉及到事件监听和DOM操作。例如,使用jQuery库实现这个功能: ```javascript $...

Global site tag (gtag.js) - Google Analytics