我有一个项目列表。 在每个列表项中,我都有跨度。 我想检查一个span是否包含一个字符串(在这种情况下是:" Account"),仅从该List项中删除另一个span。我按类选择项目,而不是ID。
我试过这段代码:
$("ul").find('li .productRelatedToAdditional:contains("Account")').each(function(){
if ($(".productRelatedToAdditional:contains('Account')").length > 0) {
$(".productRelatedToAdditional").remove();
$(".productRelatedTo").remove();
}
});
但它不起作用。它正在从所有List项中删除元素。 所以我想删除Class" productRelatedTo"和元素" productRelatedToAdditional"只能从列表中的项目所在的范围" productRelatedToAdditional"包含单词" Account"
非常感谢
答案 0 :(得分:1)
$(document).ready(function(){
$("li .productRelatedToAdditional:contains('Account')").each(function(){
$(this).siblings(".productRelatedToAdditional, .productRelatedTo").remove();
});
});
答案 1 :(得分:1)
试试这个:找到匹配的li
的父productRelatedToAdditional
,然后找到productRelatedTo
并将其删除。
$("ul").find('li .productRelatedToAdditional:contains("Account")').each(function(){
var $parentLi = $(this).closest('li');
$(this).remove();
$parentLi.find(".productRelatedTo").remove();
});
答案 2 :(得分:1)
另见工作代码段
(function($) {
$('li').each(function() {
var string = $(this).find('.productRelatedToAdditional').html();
console.log(string);
if (string.toLowerCase().indexOf("active") >= 0) {
$(this).find('.productRelatedTo').remove();
$(this).find('.productRelatedToAdditional').remove();
}
});
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
<ul>
<li>
<span class="productRelatedTo">hello1</span>
<span class="productRelatedToAdditional">active</span>
</li>
<li>
<span class="productRelatedTo">hello2</span>
<span class="productRelatedToAdditional"></span>
</li>
<li>
<span class="productRelatedTo">hello3</span>
<span class="productRelatedToAdditional">aCtiVe</span>
</li>
<li>
<span class="productRelatedTo">hello4</span>
<span class="productRelatedToAdditional"></span>
</li>
</ul>
</body>
</html>
这应该做的工作:
$('li').each(function(){
var string = $(this).children('.productRelatedToAdditional').html();
if (string.toLowerCase().indexOf("active") >= 0){
$(this).children('.productRelatedTo').remove();
$(this).children('.productRelatedToAdditional').remove();
}
});
问候timotheus