Yes, div
within td
is perfectly valid. The elements list in the HTML5 spec draft is a useful reference for this sort of question, but basically, the valid children of td
are flow elements, and div
is a flow element.
The above references are for HTML5, which is the way forward (it both codifies what's already in the wild, and brings things forward; the major browser vendors are all involved). For HTML 4.01, the TD reerence is here, but I have to admit for 4.01 what I'd probably do is ask the W3C validator, which is quite robust for 4.01 (and not yet for HTML5). And the validator says...yup, just fine. Sample data:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>Hi</title></head>
<body>
<table><tbody><tr><td><div>x</div></td></tr></tbody></table>
</body>
</html>