单击按钮时突出显示行

时间:2015-03-16 11:33:47

标签: javascript jquery google-chrome mozilla

当我点击该行的编辑按钮时,我正在使用以下脚本突出显示行。当我点击按钮时,我正在传递Id的行!我的问题是代码在Mozila Firefox中运行但在Google Chrome上运行。以下代码有什么问题。

function high(id)
{
    $('tr').removeAttr('style'); 
    document.getElementById(id).style="background-color:#eeeeea;color:#000000;font-weight:500;";
}

3 个答案:

答案 0 :(得分:3)

这是一个将特殊类添加到编辑行并删除其他行上的类的演示。这是使用jquery的nearest()方法完成的。你甚至不需要使用任何id。

$("button").on("click",function(){
		$("tr").each(function(){
			$(this).removeClass("marked");
		});
		$(this).closest("tr").addClass("marked");
	});
	.marked{
		background-color:#eeeeea;color:#000000;font-weight:500;
	}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
	<table>
		<tr>
			<td>This is TD</td>
			<td><button>Edit</button></td>
		</tr>
		<tr>
			<td>This is TD</td>
			<td><button>Edit</button></td>
		</tr>
		<tr>
			<td>This is TD</td>
			<td><button>Edit</button></td>
		</tr>
	</table>

答案 1 :(得分:2)

您需要单独设置样式对象的属性。

var elem = document.getElementById(id);
//Set properties
elem.style.color = "#000000";
elem.style.fontWeight = "500";
elem.style.backgroundColor = "#eeeeea";

由于您使用的是,因此您可以使用.css()

$('#' + id).css({
    "background-color" :"#eeeeea",
    "color":"#000000",
    "font-weight":"500";
});

但是,我建议你创建一个CSS类然后使用它。

$('tr').removeClass('highlight'); 
$('#' + id).addClass('highlight');

答案 2 :(得分:2)

试试这个,

$('#'+id).attr("style","background-color:#eeeeea;color:#000000;font-weight:500;");
Chrome上的

Working也是。

  

原因,可以是样式是一个具有一些属性的对象   和铬可能不允许覆盖它。所以自定义字符串你   传递方式不适用于它,因此没有应用于   元件。