Javascript 删除其他类中的类似元素
在html中通过jquery单击Javascript 删除其他类中的类似元素,javascript,jquery,Javascript,Jquery,在html中通过jquery单击111或222或333中的一个之后,如何删除类.makhzan中的类似元素(ul) 演示: 我的尝试: $('.class_show .tooltip_hover').live('click change', function(){ $(this).closest('ul').remove(); var value_bet = $(this).text(); $(".makhzan .tooltip_hover li").filter(fu
111
或222
或333
中的一个之后,如何删除类.makhzan
中的类似元素(ul)
演示:
我的尝试:
$('.class_show .tooltip_hover').live('click change', function(){
$(this).closest('ul').remove();
var value_bet = $(this).text();
$(".makhzan .tooltip_hover li").filter(function () {
var get = $(this).text() == value_bet;
return get.closest('ul'); // This doesn't work for remove element ul
}).remove();
});
函数期望回调函数返回true
或false
。您应该返回get
,然后删除筛选集合上的最近('ul')
$('.class_show .tooltip_hover').live('click change', function(){
$(this).closest('ul').remove();
var value_bet = $(this).text();
$(".makhzan .tooltip_hover li").filter(function () {
return $(this).text() == value_bet;
}).closest('ul').remove();
});
也许这对你有帮助,我不确定
$('.class_show .tooltip_hover li').click(function() {
var li_text = $(this).text();
$('.makhzan .tooltip_hover li').each(function() {
if($(this).text() == li_text){
$(this).remove();
}
});
});
仅当文本完全相同时,此操作才有效
可能您必须使用另一种类型的比较尝试使用
:contains
来避开筛选功能:
$('.class_show .tooltip_hover').live('click change', function(){
$(this).closest('ul').remove();
var value_bet = $.trim($(this).text());
$('.makhzan .tooltip_hover li:contains("'+value_bet+'")')
.closest('ul').remove();
});
但是,如果您使用的是jQuery 1.7,那么您最好习惯于使用.on
而不是.live
:
$(document).on('click change', '.class_show .tooltip_hover', function() {
...
});
更新
根据nachito的评论——如果我正在构建这个,我会为每个
分配一个属性,如data key=“1”
,并将其匹配,而不是尝试匹配HTML元素的确切文本内容并冒失配的风险:
$(document).on('click change', '.class_show .tooltip_hover', function() {
$(this).closest('ul').remove();
var value_bet = $(this).find('li').data('key');
$('.makhzan .tooltip_hover li[data-key="' + value_bet + '"]')
.closest('ul').remove();
});
使用.parents('ul').eq(0)代替最近的booo jsfiddle not loadinfg…嗯。。。什么即使使用小提琴,我也不明白您想做什么。是否要删除与您正在单击的元素具有相同文本的其他元素?您的演示中有一个错误:
- 中,而不是:只要文本是唯一的,contains将非常有效。我知道示例中的值很简单,但是应该指出,如果.makhzan中的
- 标记包含而不是相等的
值,它们将被删除,例如,单击
将删除111
和111
@nachito True;使用111222
也有一些限制,因为它去掉了所有HTML标记,可能保留也可能不保留空白。最佳选择在很大程度上取决于OP想要在什么上使用它。.text