试图从另一个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; 
    }); 
+0

谢谢马克 - 那是一种享受。请你能解释它是如何工作的? –

+0

Leo包含业务内容的div是锚链接的父级,因此要获取使用父级的div对象,还有一个元素是子级的兄弟元素。如果您有任何问题,请随时提问。 –

我猜你打算这样做

$('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();