Javascript 选择任意tr和/或td并隐藏图元
我试图在这里找到答案,但无法完成 我有一张几排的桌子。有些在单元格中有名称,有些则有上载id。例如:Javascript 选择任意tr和/或td并隐藏图元,javascript,jquery,Javascript,Jquery,我试图在这里找到答案,但无法完成 我有一张几排的桌子。有些在单元格中有名称,有些则有上载id。例如: <tr> <td>blabla</td> <td>Name: Messi</td> <td><a id="upload-button" href=".."/>button</a></td> <td>blabla</td> </tr> <tr
<tr>
<td>blabla</td>
<td>Name: Messi</td>
<td><a id="upload-button" href=".."/>button</a></td>
<td>blabla</td>
</tr>
<tr>
<td>blabla</td>
<td>upload id: 123456</td>
<td><a id="upload-button" href=".."/>button</a></td>
<td>blabla</td>
</tr>
<tr>
<td>blabla</td>
<td>upload id: 654321</td>
<td><a id="upload-button" href=".."/>button</a></td>
<td>blabla</td>
</tr>
您可以尝试以下方法:
$('td').each(function(){
//check if contains 'name'
if( this.innerHTML.toLowerCase().indexOf( 'name' ) !== -1 ) {
// I think next is better as siblings -> selects only the button td
//$(this).siblings('td').css("visibility","hidden");
$(this).next('td').css("visibility","hidden");
}
});
编辑
根据注释添加了
.toLowerCase()
;-) 您可以尝试以下方法:
$('td').each(function(){
//check if contains 'name'
if( this.innerHTML.toLowerCase().indexOf( 'name' ) !== -1 ) {
// I think next is better as siblings -> selects only the button td
//$(this).siblings('td').css("visibility","hidden");
$(this).next('td').css("visibility","hidden");
}
});
编辑
根据注释添加了
.toLowerCase()
;-) 一点创造性的过滤和查找
$(函数(){
$('tr td').filter(函数(){
返回$(this).text().toLowerCase().indexOf('name')>-1;
})//首先只查找包含所需文本的td
.parent()//升级到tr
.find('a')//查找'a`-仅因为您复制了id。这可以是任何选择器
.hide();//隐藏它
});代码>
布拉布拉
姓名:梅西
布拉布拉
布拉布拉
上传id:123456
布拉布拉
布拉布拉
上传id:654321
布拉布拉
一点创造性的过滤和查找
$(函数(){
$('tr td').filter(函数(){
返回$(this).text().toLowerCase().indexOf('name')>-1;
})//首先只查找包含所需文本的td
.parent()//升级到tr
.find('a')//查找'a`-仅因为您复制了id。这可以是任何选择器
.hide();//隐藏它
});代码>
布拉布拉
姓名:梅西
布拉布拉
布拉布拉
上传id:123456
布拉布拉
布拉布拉
上传id:654321
布拉布拉
:jQuery(“:contains(text)”)
text:要查找的文本字符串。它区分大小写。此外,最近的
查找父元素,而不是子元素。:jQuery(“:contains(text)”)
text:要查找的文本字符串。它区分大小写。另外,最近的
查找父元素,而不是子元素。小心,索引的
区分大小写!投票支持他,因为他是唯一一个意识到他只想匹配“name”一词,而不想只寻找文本“name”元素的人。@Karl AndréGagnon用.toLowerCase()
@JamieBarker是的,我知道,但我还是应该提到它。OP似乎不知道contains
区分大小写。谢谢你们:)你们的讨论得出了正确的答案!小心,indexOf
区分大小写!投票赞成成为唯一一个意识到他只想匹配“name”一词的元素,而不是只寻找文本“name”@karlandréGagnon的元素,它很容易用.toLowerCase()
@JamieBarker yes解决,我知道,不过,应该提一下。OP似乎不知道contains
区分大小写。谢谢你们:)你们的讨论得出了正确的答案!thx的答案,它的工作!下面的答案快了一点:)@Meules-你接受的答案与你问的有所不同-它隐藏了整个td而不是按钮。这就是为什么我说他们的讨论会得出正确的答案。但你是对的,你的代码实际上符合我的要求…thx的答案,它的工作!下面的答案快了一点:)@Meules-你接受的答案与你问的有所不同-它隐藏了整个td而不是按钮。这就是为什么我说他们的讨论会得出正确的答案。但你是对的,你的代码实际上符合我的要求。。。