如何通过文本值搜索键删除子 li 元素?
How to remove a child li element by text value search key?
我传递了一个与列表中 li 选项卡元素的文本相匹配的文本值。
然后我需要删除页面上与该搜索文本值匹配的所有选项卡。因此,例如,我将 "Chart1"
传递给 ClearGraph
方法,它应该删除与列表中该文本值匹配的所有选项卡。
这就是我在方法中尝试的方法,传递图表文本值并调用 .contains()
然后 .remove()
:
function clearGraph(chart_text)
{
//Remove the chart tab by the text value
$('#chartTabs li:contains('+ chart_text + ")'").remove();
}
但是我在调用方法时收到控制台错误,jquery-2.2.2.js:1468 Uncaught Error: Syntax error, unrecognized expression: #chartTabs li:contains( Chart 1)'
。
问题:
如何通过文本值搜索键删除子 li
元素?
标记和关联的 ClearGraph 方法定义如下:
<ul class="nav nav-pills" id="chartTabs">
@* dynamically create the tab elements in d3 js *@
</ul>
function clearGraph(chart_text)
{
//Remove the chart tab by the text value
$('#chartTabs li:contains('+ chart_text + ")'").remove();
}
您的代码中存在语法错误。最后的额外引号破坏了选择器。您需要使用:
$('#chartTabs li:contains('+ chart_text + ')').remove();
您缺少 '
$('button').click(function()
{
var input = $('input').val();
$("#chartTabs li:contains('" + input + "')").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-pills" id="chartTabs">
<li>Foo</li>
<li>Bar</li>
</ul>
<input type="text"/>
<button type="button">Clear</button>
我传递了一个与列表中 li 选项卡元素的文本相匹配的文本值。
然后我需要删除页面上与该搜索文本值匹配的所有选项卡。因此,例如,我将 "Chart1"
传递给 ClearGraph
方法,它应该删除与列表中该文本值匹配的所有选项卡。
这就是我在方法中尝试的方法,传递图表文本值并调用 .contains()
然后 .remove()
:
function clearGraph(chart_text)
{
//Remove the chart tab by the text value
$('#chartTabs li:contains('+ chart_text + ")'").remove();
}
但是我在调用方法时收到控制台错误,jquery-2.2.2.js:1468 Uncaught Error: Syntax error, unrecognized expression: #chartTabs li:contains( Chart 1)'
。
问题:
如何通过文本值搜索键删除子 li
元素?
标记和关联的 ClearGraph 方法定义如下:
<ul class="nav nav-pills" id="chartTabs">
@* dynamically create the tab elements in d3 js *@
</ul>
function clearGraph(chart_text)
{
//Remove the chart tab by the text value
$('#chartTabs li:contains('+ chart_text + ")'").remove();
}
您的代码中存在语法错误。最后的额外引号破坏了选择器。您需要使用:
$('#chartTabs li:contains('+ chart_text + ')').remove();
您缺少 '
$('button').click(function()
{
var input = $('input').val();
$("#chartTabs li:contains('" + input + "')").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-pills" id="chartTabs">
<li>Foo</li>
<li>Bar</li>
</ul>
<input type="text"/>
<button type="button">Clear</button>