2010-12-03 62 views
1

我想在span標記中顯示圖像標題。我使用此代碼,但span標籤中沒有顯示任何內容。jquery顯示跨度中的img標題

<script type="text/javascript" src="jquery-1.4.2.min.js" ></script> 
<script type="text/javascript"> 
jQuery(document).ready(function({ 
$('#thumb ul li a img').fadeIn(function() { 
     var $this = $(this); 
     $this.next('.showtitle').append($this.attr('title')); 
    }); 
}); 
</script> 
... 
<div class="thumb" id="thumb"> 
<ul class="ul"> 
<?php 
$result = mysql_query("SELECT * FROM ..."); 
$strstr=1; 
while ($row = mysql_fetch_array($result)) 
{ 
echo '<li class="li"><a href="' . $row['link']. '"><img src="'.$row['image'].'" title="'.$row['title'].'" class="img'.$strstr.'" /></a><span class="showtitle" /></li>'; 
$strstr++; 
} 
?> 
</ul> 
</div> 

我檢查過,標題在數據庫中不是空的。我如何解決它?

回答

2

試試這個變化:

$('#thumb ul li a img').fadeIn(function() { 
     var $this = $(this); 
     $this.parent().next('.showtitle').append($this.attr('title')); 
    }); 
}); 

我在.parent()增加。你的圖像後面抓住了「下一個」,但圖像嵌套在鏈接中,標題跨度跟隨該鏈接,而不是圖像。

+0

謝謝,它可以運行。 – 2010-12-03 22:36:23

3

問題是您的<img>元素中的.next()將爲空 - 它是其周圍<a>標記中的最後一個(唯一)事物。嘗試

$this.closest('a').next('span.showtitle').text($this.attr('title'));