Jquery在span中显示图像标题

时间:2010-12-03 22:30:05

标签: php jquery

我想在span标签中显示图片标题。我使用此代码,但span标记中没有显示任何内容。

<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 个答案:

答案 0 :(得分:3)

问题是,.next()元素中的<img>将为空 - 它是其周围<a>标记中的最后一个(唯一)内容。尝试

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

答案 1 :(得分:2)

尝试此更改:

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

我添加了.parent()。你的是在图像之后抓住“下一个”,但图像嵌套在一个链接中,标题范围跟在那个链接之后,而不是图像。