这是我要完成的工作的一个示例-HTML:
<div id="section">
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 1</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 2</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 3</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 4</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 5</b></h4>
</div>
</div>
</div>
使用jQuery,任何包含标题"测试标题2"的部分 - 隐藏该特定的测试行div。这就是我试图与jQuery一起做的事情,但到目前为止还没有运气。
是这样:
//to hide single item
$("div.row-copy-options:has(h4:contains('Test Heading 1'))").hide();
//to hide multiple items
$("div.row-copy-options:has(h4:contains('Test Heading 1'),h4:contains('Test Heading 2'))").hide();
希望这会有所帮助。循环浏览所有h4
元素,检查Test Heading 2
,获取与test-row
类的父div并隐藏。
编辑:使用map
功能
$(function () {
$("#section h4").map(function(i,el){ $(el).text() == "Test Heading 2" ? $(el).closest(".test-row").hide() : el });
});
$(function () {
$("#section h4").each(function(){
if ($(this).text() == "Test Heading 2") $(this).closest(".test-row").hide();
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="section">
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 1</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 2</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 3</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 4</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 5</b></h4>
</div>
</div>
</div>
在这里您可以使用解决方案https://jsfiddle.net/enm7sw0f/
$('.test-row').each(function(){
if($(this).find('b:contains("Test Heading 2")').length)
$(this).hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="section">
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 1</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 2</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 3</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 4</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 5</b></h4>
</div>
</div>
</div>
循环浏览所有.test-row
div并检查内容,如果匹配,请隐藏Div。
希望这对您有帮助。
您的html
<div id="section">
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 1</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 2</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 3</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 4</b></h4>
</div>
</div>
<div class="test-row">
<div class="row-copy-options">
<h4 class="text-capitalize"><b>Test Heading 5</b></h4>
</div>
</div>
</div>
使用H4 TagName
的第一次方法$(document).ready(function(){
$("h4:contains('Test Heading')").hide();
});
使用class
的H4 tagname第二种方法$(document).ready(function(){
$("h4.text-capitalize:contains('Test Heading')").hide();
});
我们可以做很多方法