2017-06-06 120 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(); 
} 
相關問題