Javascript 如果使用Jquery单击td,则为表中的所有tr元素着色
当表从任何子td元素调用时,我试图使用jQuery为所有tr元素着色。这是我的密码Javascript 如果使用Jquery单击td,则为表中的所有tr元素着色,javascript,jquery,html,Javascript,Jquery,Html,当表从任何子td元素调用时,我试图使用jQuery为所有tr元素着色。这是我的密码 <table> <tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel(this,'BL8','ATR','AWFR')">A
<table>
<tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel(this,'BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
<tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel(this,'BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
<tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel(this,'BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>
<script>
function download_excel(element,a,b,c){
$(element).parents('table').children('tr').css("background-color", "#fbfbfb");
}
</script>
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
函数下载\u excel(元素a、b、c){
$(元素).parents('table').children('tr').css(“背景色”),“#fbfb”);
}
因为我想突出显示单击的一个(已经有代码),所以我想重置为以前的背景色。。那太好了
有什么建议吗?试试这个:-使用find()
函数而不是children()
函数
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
函数下载\u excel(元素a、b、c){
$(元素).parents('table').find('tr').css(“背景色”),“#fbfb”);
}
尝试通过以下方式获取当前匹配元素集中每个元素的后代:
函数下载\u excel(元素a、b、c){
$(元素).parents('table').find('tr').css(“背景色”),“#fbfb”);
}
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
ATR-ADM-BLCMA8-CHN18-03-01-D1405656
虽然您已经接受了这个问题的答案,但我觉得有必要指出您最初方法中的一些问题;虽然
元素在编写HTML时是可选的,但在构建DOM时,浏览器将定期创建该元素(如果该元素尚不存在),并将
元素放在其中;因此,该行:
$(element).parents('table').children()
首先查找所有祖先
元素(在嵌套
元素的情况下,这本身可能是个问题),然后查找子元素()
元素,即
元素
通常,这仍然允许颜色“通过”
和
元素显示,但在这种情况下,您为
元素指定了背景色,这会阻止
背景显示
因此,有两种选择:
在编写HTML时定义
元素,并在该
元素上指定背景色:
函数下载\u excel(元素a、b、c){
$(元素)。最近('tbody'))
//请注意,“limegreen”的使用只是为了更简单
//变化的可视化:
.css(“背景色”、“灰白”);
}
ATR-ADM-BLCMA8-CHN18-03-01-D
14
0
56
56
ATR-ADM-BLCMA8-CHN18-03-01-D
14
0
56
56
ATR-ADM-BLCMA8-CHN18-03-01-D
14
0
56
56
这只适用于一个TR,我想一次性更换所有TR…谢谢