jQuery - 隐藏 DIV,其中有一个包含某些文本的 span 元素

问题描述 投票:0回答:4

我有几个具有相同类名和不同 ID 的 div。未为我需要定位的文本设置 ID

我需要定位电话文本。如果 div 包含该文本,我如何隐藏包含的 div

<div id="rn_FieldDisplay_155" class="rn_FieldDisplay rn_Output">
   <span class="rn_DataLabel">Telephone Call </span>
   <div class="rn_DataValue">No</div>
</div>

我已经尝试过以下方法,但没有成功

<script>
$(document).ready(function() {
  $(".rn_FieldDisplay > span:contains('Telephone Call')").hide ();
});
</script>
javascript jquery css
4个回答
5
投票

如果您的代码隐藏了跨度,而不是父 div,您可以使用与您已经编写的代码几乎相同的代码来定位要隐藏的 div。

$(document).ready(function() {
  $(".rn_FieldDisplay > span:contains('Telephone Call')").parent().hide();
});

0
投票

尝试选择它的子元素而不是元素本身:

$(document).ready(function() {
    $(".rn_FieldDisplay *:contains('Telephone Call')").hide ();
});

0
投票

尝试使用

find()
功能

$(document).ready(function() {
    $(".rn_FieldDisplay").find(":contains('Telephone Call')").hide ();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rn_FieldDisplay_155" class="rn_FieldDisplay rn_Output">
    <span class="rn_DataLabel">Telephone Call </span>
    <div class="rn_DataValue">No</div>
        <p class="rn_DataLabel">Telephone Call </p>
</div>


0
投票

你可以试试这个:

if ($(".rn_FieldDisplay > span:contains('Telephone Call')").length > 0) {
    $(".rn_FieldDisplay > span").hide();
}
© www.soinside.com 2019 - 2024. All rights reserved.