Javascript 使用JQuery修改特定ID的HTML元素
我是JQuery新手,对此我有一个非常基本的问题 我有两个html表格元素,一个带有id=“needColor”,另一个没有id 我想在id为=“needColor”的表上设置偶数行的背景色,但在没有任何id的表上不设置 如何使用JQuery实现这一点 目前的代码如下:Javascript 使用JQuery修改特定ID的HTML元素,javascript,jquery,html,web,Javascript,Jquery,Html,Web,我是JQuery新手,对此我有一个非常基本的问题 我有两个html表格元素,一个带有id=“needColor”,另一个没有id 我想在id为=“needColor”的表上设置偶数行的背景色,但在没有任何id的表上不设置 如何使用JQuery实现这一点 目前的代码如下: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"</script> <script> $
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"</script>
<script>
$(document).ready(function(){
//tried to add something like these, but I am not sure how it must be written
// this makes all the even row in "all" table to be yellow
$("tr:even").css("background-color", "yellow");
// this will give the whole yellow color of table with id = needColor
$("table[id='needColor']").css("background-color", "yellow"); // do not use ("#needColor") as this will affect other elements than "table"
});
</script>
选择器的第一部分,#needColor
获取具有该id的元素。td:even
表示获取偶数tr元素。这两部分之间的空间意味着tr元素应该是第一个元素的后代
如果您有多个具有id=“needColor”
的元素,则您有无效的html:id应该是唯一的,因此如果您需要将多个元素标识为需要颜色,则应使用类而不是id。但是,如果由于某种原因无法更改html,则可以执行以下操作:
$("table[id='needColor'] tr:even").css("background-color", "yellow");
请注意,尽管您不需要任何JavaScript/jQuery来实现这一点,但只需使用CSS即可。在样式表中:
table[id='needColor'] tr:nth-child(even) {
background-color: yellow;
}
选择器的第一部分,#needColor
获取具有该id的元素。td:even
表示获取偶数tr元素。这两部分之间的空间意味着tr元素应该是第一个元素的后代
如果您有多个具有id=“needColor”
的元素,则您有无效的html:id应该是唯一的,因此如果您需要将多个元素标识为需要颜色,则应使用类而不是id。但是,如果由于某种原因无法更改html,则可以执行以下操作:
$("table[id='needColor'] tr:even").css("background-color", "yellow");
请注意,尽管您不需要任何JavaScript/jQuery来实现这一点,但只需使用CSS即可。在样式表中:
table[id='needColor'] tr:nth-child(even) {
background-color: yellow;
}
试试这个:
$("#needColor tr:even").css("background-color", "yellow");
或者这个(但我会在上面建议):
他们都会将id为“needColor”的表格的背景色设置为黄色。请尝试以下操作:
$("#needColor tr:even").css("background-color", "yellow");
或者这个(但我会在上面建议):
它们都会将id为“needColor”的表的背景色设置为黄色。我在代码中看到一条注释,说明:不要使用(“#needColor”),因为这会影响“table”以外的其他元素。事实并非如此。ID总是唯一的——你不应该给两个或更多的元素相同的ID。或者你也可以用css做同样的事情
op让人困惑……首先,您想使用id
,因为您不需要id,它将应用于所有表;其次,您不想使用id
,因为它只应用于一个表?哪个是哪个?您不需要jQuery。只是CSS。@MattiVirkkunen那么为什么要用jQuery标记它呢?我在代码中看到一条注释:不要使用(“#needColor”),因为这会影响“table”以外的其他元素。事实并非如此。ID总是唯一的——你不应该给两个或更多的元素相同的ID。或者你也可以用css做同样的事情op让人困惑……首先,您想使用id
,因为您不需要id,它将应用于所有表;其次,您不想使用id
,因为它只应用于一个表?哪个是哪个?您不需要jQuery。只是CSS。@MattiVirkkunen那么为什么要用jQuery标记它呢?1对于CSS,除非需要,否则不要使用脚本。1对于CSS,除非需要,否则不要使用脚本。