2017-06-06 90 views
0

我有几个具有相同类名和不同ID的div。该ID未设置为我需要定位的文本jQuery - 隐藏DIV,其中包含某些文本的span元素

我需要定位电话呼叫文本。如果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> 
+1

你的代码正在工作...看看。 https://jsfiddle.net/2ako5ok7/ – Roy

+0

删除跨度而不是包含div – pee2pee

回答

1

如果你的代码是隐藏的跨度,但不是父DIV,您可以针对div来已经大部分使用相同的代码,你可以隐藏中写道。

<script> 
$(document).ready(function() { 
    $(".rn_FieldDisplay > span:contains('Telephone Call')").parent().hide(); 
}); 
</script> 
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(); 
} 
相关问题