我正在尝试在桌面上为某些TD着色。但它不能按预期工作,因为它也会为其他TD着色。在这里,我尝试着色第二个TD:
问题似乎是我正在使用colspans和rowpans。
这是我的代码:
$("button").click(function() {
$('table tr td:nth-child(2)').css("background-color", "red");
});
请注意,这是一个简化的例子。我真正的桌子更大更复杂。仅对包含B
和2
的所有单元格进行着色是不够的。
答案 0 :(得分:0)
$("button").click(function() {
$('table>thead>tr>td:eq(1),table>tbody>tr>td:eq(1)').css("background-color", "red");
});
希望这会有所帮助..
答案 1 :(得分:0)
这是你要做的事如果我是正确的:
使用<colgroup>
代码
HTML:
<table border="1">
<colgroup>
<colgroup>
<colgroup span="2">
<colgroup>
<tr>
<th scope="colgroup">A</th>
<th scope="colgroup">B</th>
<th colspan="2" scope="colgroup">C</th>
<th scope="colgroup">D</th>
</tr>
<tr>
<td rowspan="3">1</td>
<td rowspan="3">2</td>
<td rowspan="3">3</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
<td>3</td>
<td>4</td>
<td>4</td>
</tr>
</table>
<br>
<button class="col1">Col 1</button>
<button class="col2">Col 2</button>
<button class="col3">Col 3</button>
<button class="col4">Col 4</button>
<button class="reload">Reload</button>
JS:
$(".col1").click(function() {
$('colgroup:nth-child(1)').css("background-color", "red");
});
$(".col2").click(function() {
$('colgroup:nth-child(2)').css("background-color", "red");
});
$(".col3").click(function() {
$('colgroup:nth-child(3)').css("background-color", "red");
});
$(".col4").click(function() {
$('colgroup:nth-child(4)').css("background-color", "red");
});
$(".reload").click(function() {
location.reload();
});
COLGROUP方法小提琴链接: https://jsfiddle.net/devqnyg5/11/
使用<col>
代码
HTML:
<table border="1">
<col>
<col>
<col>
<col>
<col>
<tr>
<th>A</th>
<th>B</th>
<th colspan="2">C</th>
<th>D</th>
</tr>
<tr>
<td rowspan="3">1</td>
<td rowspan="3">2</td>
<td rowspan="3">3</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table><br>
<button class="col1">Col 1</button>
<button class="col2">Col 2</button>
<button class="col3">Col 3</button>
<button class="col4">Col 4</button>
<button class="reload">Reload</button>
JS:
$(".col1").click(function() {
$('col:nth-child(1)').css("background-color", "red");
});
$(".col2").click(function() {
$('col:nth-child(2)').css("background-color", "red");
});
$(".col3").click(function() {
$('col:nth-child(3),col:nth-child(4)').css("background-color", "red");
});
$(".col4").click(function() {
$('col:nth-child(5)').css("background-color", "red");
});
$(".reload").click(function() {
location.reload();
});
COL方法小提琴链接: https://jsfiddle.net/devqnyg5/9/
答案 2 :(得分:-2)
检查它是否包含col-span:
<style>
body {
color: #000000;
font-family:Monospace;
font-size:13px;
text-align:center;
background-color: #b49ebb;
background-image: url("textures/rainier.jpg");
background-repeat: no-repeat;
background-size: cover;
margin: 0px;
overflow: hidden;
}
#info {
position: absolute;
top: 0px; width: 100%;
padding: 5px;
}
a {
color: #0080ff;
}
</style>
</head>
<body>
<div id="container"></div>
<div id="info"><a href="http://therionsolutions.byethost15.com" target="_blank">Therion Solutions</a>The Oasis</div>
<script src="../build/three.js"></script>
<script src="js/renderers/Projector.js"></script>
<script src="js/renderers/CanvasRenderer.js"></script>
<script src="js/libs/stats.min.js"></script>
<script>
var container, stats;
var camera, scene, renderer;
var group;
var mouseX = 0, mouseY = 0;
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
init();
animate();
function init() {
container = document.getElementById( 'container' );
camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 2000 );
camera.position.z = 500;
scene = new THREE.Scene();
group = new THREE.Group();
scene.add( group );
// earth
var loader = new THREE.TextureLoader();
loader.load( 'textures/land_ocean_ice_cloud_2048o.jpg', function ( texture ) {
var geometry = new THREE.SphereGeometry( 200, 20, 20 );
var material = new THREE.MeshBasicMaterial( { map: texture, overdraw: 0.5 } );
var mesh = new THREE.Mesh( geometry, material );
group.add( mesh );
} );
//Background
// shadow
var canvas = document.createElement( 'canvas' );
canvas.width = 128;
canvas.height = 128;
var context = canvas.getContext( '2d' );
var gradient = context.createRadialGradient(
canvas.width / 2,
canvas.height / 2,
0,
canvas.width / 2,
canvas.height / 2,
canvas.width / 2
);
gradient.addColorStop( 0.1, 'rgba(210,210,210,1)' );
gradient.addColorStop( 1, 'rgba(255,255,255,1)' );
context.fillStyle = gradient;
context.fillRect( 0, 0, canvas.width, canvas.height );
var texture = new THREE.CanvasTexture( canvas );
var geometry = new THREE.PlaneBufferGeometry( 300, 300, 3, 3 );
var material = new THREE.MeshBasicMaterial( { map: texture, overdraw: 0.5 } );
var mesh = new THREE.Mesh( geometry, material );
mesh.position.y = - 250;
mesh.rotation.x = - Math.PI / 2;
group.add( mesh );
renderer = new THREE.CanvasRenderer();
renderer.setClearColor(0xffffff);
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
container.appendChild( renderer.domElement );
stats = new Stats();
container.appendChild( stats.dom );
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
//
window.addEventListener( 'resize', onWindowResize, false );
}
function onWindowResize() {
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
}
function onDocumentMouseMove( event ) {
mouseX = ( event.clientX - windowHalfX );
mouseY = ( event.clientY - windowHalfY );
}
//
function animate() {
requestAnimationFrame( animate );
render();
stats.update();
}
function render() {
camera.position.x += ( mouseX - camera.position.x ) * 0.05;
camera.position.y += ( - mouseY - camera.position.y ) * 0.05;
camera.lookAt( scene.position );
group.rotation.y -= 0.005;
renderer.render( scene, camera );
}
</script>