我正在我的文档中加载一些XML并为其添加一个DIV按钮。通过单击按钮,我不仅要fadeOut()
按钮,还要它的父元素。虽然引用和淡出按钮本身正在工作,但我无法访问其父元素。 (请参阅我的代码中的最后几行)。
$(document).ready(function(){
var searchstring = decodeURIComponent(getUrlVars()["search"]);
$.ajax({
url: 'data.xml',
type: 'GET',
dataType: 'xml',
timeout: 10000,
error: function(){
alert('Error loading XML document');
},
success: function(xml){
$(xml).find('entry').filter(function(index) { return $('lemma', this).text() == searchstring; } ).each(function() {
$(this).find('part_gp > part').each(function(){
var more = $('<div class="more">+</div>');
$(this).after(more);
more.click(fader);
});
$( "#result" ).append( $(this) );
});
}
});
});
function fader() {
$(this).fadeOut(); // this works!!
$(this).parent().fadeOut(); // this doesn't work!!
}
更新:
XML / HTML将如下所示:
<part_gp>
<part>Grafschaft</part>
<div class="more">+</div>
<pos> feminin / weiblich</pos>
</part_gp>
我想要隐藏整个part_gp ..
$(this).parents("part_gp").fadeOut();
也不起作用..
答案 0 :(得分:0)
我不知道标记的样子,但你可以尝试
$(this).parents("div.someClassForIdentification").fadeOut();
答案 1 :(得分:0)
问题是你正在使用$(this).after()
。那就是把你的按钮放在你要隐藏的块之后,而不是它里面。你真正想要的是$(this).append()
。