Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JQuery修改特定ID的HTML元素_Javascript_Jquery_Html_Web - Fatal编程技术网

Javascript 使用JQuery修改特定ID的HTML元素

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> $

我是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>
$(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,除非需要,否则不要使用脚本。