Javascript 包含另一个表的td的不同CSS

Javascript 包含另一个表的td的不同CSS,javascript,jquery,html,css,asp.net,Javascript,Jquery,Html,Css,Asp.net,我在html表中有一个html表。我想为仅包含子表的特定td应用不同的css样式(填充和边距) 我想要填充:5px适用于除包含子表的td之外的所有td。由于表是动态生成的,因此我无法明确为td提供样式。有时父表将有子表,有时没有子表。我在jQuery上也尝试过同样的方法,但无法解决这个问题 父表是作为GridView(asp.net)的一部分生成的,我使用EmptyDataTemplate创建一个子表,该子表与GridView类似,用于在不存在数据的情况下插入值 请帮我解决这个问题。: 诀窍是给

我在html表中有一个html表。我想为仅包含子表的特定td应用不同的css样式(填充和边距)

我想要
填充:5px
适用于除包含子表的td之外的所有td。由于表是动态生成的,因此我无法明确为td提供样式。有时父表将有子表,有时没有子表。我在jQuery上也尝试过同样的方法,但无法解决这个问题

父表是作为GridView(asp.net)的一部分生成的,我使用EmptyDataTemplate创建一个子表,该子表与GridView类似,用于在不存在数据的情况下插入值

请帮我解决这个问题。

:


诀窍是给第二个表一个负边距,以抵消其周围的填充。

在jquery中可以这样做:

$("td").not($(this).find("table")).css("padding","5px");

这将为所有没有表has子级的td添加填充。您也可以通过添加类而不是内联样式来实现这一点。

通常,您要查找的选择器是“>”,它指向子元素,但不指向孙元素。 例如:

对于表,虽然html自动插入tbody有点棘手,但您需要的是:

table-selector > tbody > tr > td {
}

您可能想看看css选择器

虽然你所描述的内容还不是CSS的一部分,但我猜

如果可以在表td上使用JQuery和子表sub:
$('table td:has(table.sub)')。addClass('has_sub')


然后设置
td的样式。has_sub

用下面的内容将其作为目标

CSS

 .the-class {
enter code here

}
jQuery

$("td:has(table)").addClass("the-class");

注意:我更喜欢addClass方法,因为.css将一个内联css添加到您的html中。

您尝试了什么!只需在子表的插入函数处添加一行,然后选择目标(此处为td)父表。我了解到嵌套表是一种不好的做法,最近有没有改变?但这会影响子表的tds tooYes,如果子表有子表。嗨,Austin,谢谢你的回答。我也尝试了同样的方法,但问题是,在子表的右侧,相对于父表,几乎有10px的空白空间。即使我将宽度设为100%,它也不会改变。我必须看一个你所说的例子,因为我在我创建的版本中没有看到差距:我使用的是GridView(asp.net),子表在GridView中。不管怎样,除了那个缺口,一切似乎都很好。
 .the-class {
enter code here

}
$("td:has(table)").addClass("the-class");