Internet Explorer中的JQuery-选择表列
我正在尝试在页面上动态调整表列的大小。在FF和Chrome中一切都很好,但像往常一样,在InternetExplorer中它似乎正在崩溃。经过大量调试,我发现问题是由于处理表时,JQuery选择器在internetexplorer中无法正常工作造成的。如果您试图在多行表中选择一列,JQuery将只选择第一列。下面是一些显示问题的快速代码Internet Explorer中的JQuery-选择表列,jquery,html,html-table,internet-explorer-8,formatting,Jquery,Html,Html Table,Internet Explorer 8,Formatting,我正在尝试在页面上动态调整表列的大小。在FF和Chrome中一切都很好,但像往常一样,在InternetExplorer中它似乎正在崩溃。经过大量调试,我发现问题是由于处理表时,JQuery选择器在internetexplorer中无法正常工作造成的。如果您试图在多行表中选择一列,JQuery将只选择第一列。下面是一些显示问题的快速代码 <html> <head> <script type="text/javascript" src="jquery.js">&
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("td#2").css('background-color', 'red');
});
</script>
</head>
<body>
<table>
<tbody>
<tr><td id="1">1</td><td id="2">2</td></tr>
<tr><td id="1">1</td><td id="2">2</td></tr>
</tbody>
</table>
</body>
</html>
您会注意到,在IE中,只有前2个高亮显示。如果我正确理解了自己的代码,就应该突出显示这两个2。有什么解决方法吗?不要使用必须唯一的ID,而要使用当前版本,使用类和$td.2,或者两者都不使用…并使用,如下所示:
$(document).ready(function(){
$("td:nth-child(2)").css('background-color', 'red');
});
这样,您的标记就变得简单多了:
<table>
<tbody>
<tr><td>1</td><td>2</td></tr>
<tr><td>1</td><td>2</td></tr>
</tbody>
</table>
-为了进行比较,.在当前版本中,使用类和$td.2,或者两者都不使用,而不是必须唯一的ID,并使用如下:
$(document).ready(function(){
$("td:nth-child(2)").css('background-color', 'red');
});
这样,您的标记就变得简单多了:
<table>
<tbody>
<tr><td>1</td><td>2</td></tr>
<tr><td>1</td><td>2</td></tr>
</tbody>
</table>
-为了进行比较,.id属性在htmlid中必须是唯一的属性在HTMLTanks中必须是唯一的!这个特定的问题最终变成了另一个问题,我从一个容器div得到了一些css,它把我搞砸了,但是我用你的提示修复了我页面中的许多其他错误!愚蠢的我,我自己技术HTML/CSS/JS我从来没有学会ID必须是唯一的。哎呀!谢谢你,尼克!这个特定的问题最终变成了另一个问题,我从一个容器div得到了一些css,它把我搞砸了,但是我用你的提示修复了我页面中的许多其他错误!愚蠢的我,我自己技术HTML/CSS/JS我从来没有学会ID必须是唯一的。哎呀!