Javascript 包含另一个表的td的不同CSS
我在html表中有一个html表。我想为仅包含子表的特定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类似,用于在不存在数据的情况下插入值 请帮我解决这个问题。: 诀窍是给
填充: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");