如何创建一个jQuery hover
,以便在鼠标悬停时显示div
,就像推特、repla、retweet和favorite一样?
这是我的HTML:
<div style="display:none;" id="blab">
<?php echo $blab_id; ?>
</div>
<a href="blab.php?id=<?php echo $blab_id; ?>">
<div class="blab_body" id="hover" value="Hide">
<table>
<tr>
<td valign="top">
<img src="<?php echo $profile_pic_info; ?>" class="blab_image" width="50" height="50" />
</td>
<td> </td>
<td>
<table>
<tr>
<td valign="top">
<a href="profile.php?id=$mem_id">
<strong><?php echo $added_fullname; ?></strong>
</a>
<?php echo $added_to_fullname; ?>
</td>
</tr>
<tr>
<td>
<?php echo $blab_body; ?>
</td>
</tr>
<tr>
<td>
<text style="color:gray;">
<?php echo $blab_date; ?>|<?php echo $device; ?>
</text>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="background:#000; display:none;" id="id"> </div>
</div>
</a>
<hr />
下面是我的JavaScript代码:
$('#id').hide();
$('#hover').hover(function () {
var blab_id = $('#blab').text();
$('#id').show();
}, function () {
$('#id').hide();
});
它只显示第一个的div
。
发布于 2013-01-23 07:09:39
HTML您只能在整个页面上使用一次某个ID!如果您在页面上插入此div
的多个副本,您的代码将无效。这就是为什么jQuery只将事件处理程序附加到第一个元素的原因。
解决方案是使用class="hover_enabled"
而不是id="hover"
,因为它允许将相同的类添加到多个元素。下面是如何在jQuery中完成此操作:
$('.hover_enabled').hover(function() { ...
这同样适用于#id
。
https://stackoverflow.com/questions/14469532
复制相似问题