试图从另一个DIV
问题描述:
我创建每个房源都有自己的div一个列表页面关闭一个div,对于div的内容是由一个单独的PHP脚本通过$。员额试图从另一个DIV
这个问题我装已是欲盖弥彰上市,我认为这个问题可能是一些与此线做
$(“div.close_listing”)
只有我能拿到如果我用
它的工作$('div.listing> div').click(
function() {
$('div.listing> div').hide();
});
(它工作时,我点击任何地方在上市股利)
任何帮助非常感谢。
为上市的HTML代码是:
<div id='listing'>
<div id='loading'></div>
<a name='13'><h3>Business1</h3></a> <h4 data-id=18-3-3>Name Of Business 1</h4>
<div>
<hr>
*** content forbusiness1 appears here ***
<div class='close_listing'>CLOSE this listing</div>
</div>
<a name='14'><h3>Business2</h3></a> <h4 data-id=19-3-3>Name Of Business 2</h4>
<div>
<hr>
*** content for business2 appears here ***
<div class='close_listing'>CLOSE this listing</div>
</div>
</div>
的代码来调用内容如下:
$(document).ready(function() {
$('div.listing> div').hide();
$('div.listing> h4').click(function() {
$('div.listing> div').empty().html('<img src="loading_image.gif" /><br>Retrieving Details.....');
$.post("http://www.example.com/record.php", { id: $(this).attr('data-id') });
$.post('show.php',{ id: $(this).attr('data-id')}, function(data) {
$('div.listing> div').html(data);
$('div.listing .close').visible();
});
var $nextDiv = $(this).next();
var $visibleSiblings = $nextDiv.siblings('div:visible');
if ($visibleSiblings.length) {
$visibleSiblings.slideUp('fast', function() {
$nextDiv.slideToggle('fast');
});
} else {
$nextDiv.slideToggle('fast');
}
});
// closes the listing down
$('div.close_listing').click(
function() {
$('div.listing> div').hide();
});
});
答
我觉得这是一个有点难以明白你的问题,但如果你想要的是关闭close_listing父DIV然后我编辑了自己的HTML标记,像这样
<div id='listing'>
<div id='loading'></div>
<a name='13'><h3>Business1</h3></a> <h4 data-id=18-3-3>Name Of Business 1</h4>
<div>
<hr>
content forbusiness1 appears here
<a class='close_listing' href="#">
CLOSE this listing
</a>
</div>
<a name='14'><h3>Business2</h3></a> <h4 data-id=19-3-3>Name Of Business 2</h4>
<div>
<hr>
content for business2 appears here
<a class='close_listing' href="#">
CLOSE this listing
</a>
</div>
</div>
在JavaScript的应该是像这样
$( 'a.close_listing')。绑定( '点击',函数(){
$(this).parent().show().fadeOut(500);
return false;
});
答
我猜你打算这样做
$('div.close_listing').click(function() {
$(this).closest('.listing').hide();
});
});
+0
Interstellar_coder - 这似乎并没有工作 - 您可以通过访问来尝试页面: http://www.dadni.co.uk/m_search_test.php 选择餐馆,然后印度和结果将出现。 –
答
问题是这条线:
$('div.listing> div').hide();
应该
$('div#listing > div').hide();
但我认为,你都躲在得多(所有的div正下方#listing)。考虑以下几点:
$(this).parent().hide();
谢谢马克 - 那是一种享受。请你能解释它是如何工作的? –
Leo包含业务内容的div是锚链接的父级,因此要获取使用父级的div对象,还有一个元素是子级的兄弟元素。如果您有任何问题,请随时提问。 –