Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 选择任意tr和/或td并隐藏图元_Javascript_Jquery - Fatal编程技术网

Javascript 选择任意tr和/或td并隐藏图元

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

我试图在这里找到答案,但无法完成

我有一张几排的桌子。有些在单元格中有名称,有些则有上载id。例如:

<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而不是按钮。这就是为什么我说他们的讨论会得出正确的答案。但你是对的,你的代码实际上符合我的要求。。。