2010-12-03 61 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'));