jQuery为什么动态添加的图像在悬停时不会显示/隐藏
jQuery Why dynamically added images are not getting shown/hidded on hover
当我将鼠标悬停在中封装的标题上时,我正试图编写一个显示链接图标的代码
我所做的是,我有一个CSS类samplea
。与CCD_ 3有多个CCD_。然后我插入jQuery,在<a>
之后添加自定义链接图像。我一开始把照片藏了起来。然后添加了jQuery,这样当它悬停在标题上时就会显示/隐藏。
然而,我能够在所有<a class='samplea'>
之后插入图像,但不能隐藏/显示它们。
HTML
<h3><a class="samplea" id="aid">Sample Title</a></h3>
<h3><a class="samplea" id="a1">Sample Title</a></h3>
<h3><a class="samplea" id="a1">Sample Title</a></h3>
CSS
.samplea {
}
JS
$(document).ready(function () {
var permalinkid = 1;
$(".samplea").each(function (index) {
$(this).after(" <img src='http://www.spotzerblog.com/wp-content/themes/StandardTheme_261/images/icn_permalink.png' id='permalink" + permalinkid + "' />");
//if you comment below line it will show the link icons
//appropriately
$("#permalink" + permalinkid).hide();
$(this).hover(
function () { $("#permalink" + permalinkid).show(); },
function () { $("#permalink" + permalinkid).hide(); }
);
permalinkid = permalinkid + 1;
});
});
为什么会这样?这是相应的JSFiddle。
试试这个:
// New way (jQuery 1.7+) - .on(events, selector, handler)
$(document).on('mouseenter mouseleave', 'h3', function () {
$(this).find('img').toggle();
});
FIDDLE演示
您在每次迭代中都在递增permalinkid = permalinkid + 1
,但只有当您进行"悬停"时才会对其求值,这将使其成为permalink4
http://jsfiddle.net/balintbako/G3Psm/5/Palash Mondal的答案是从本质上解决你的问题,然而,如果你想保持它的ID基础,那么请检查:http://jsfiddle.net/balintbako/G3Psm/9/
$(document).ready(function () {
var permalinkid = 1;
$(".samplea").each(function (index) {
var temp = permalinkid;
$(this).after($("<div id='permalink" + temp + "'>text</div>"));
//if you comment below line it will show link icon
//appropriately
$("#permalink" + permalinkid).hide();
$(this).hover(
function () {
$("#permalink" + temp).show();
},
function () {
$("#permalink" + temp).hide();
});
permalinkid = permalinkid + 1;
});
});
相关文章:
- 在jquery中为显示/隐藏设置cookie
- PHP Javascript显示/隐藏按钮不工作
- 打开/关闭按钮以显示/隐藏内容
- 显示隐藏复选框
- 在bootstrap中显示隐藏特定的li
- JQuery上下文菜单显示/隐藏问题
- JQuery在单击时停止显示/隐藏
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 使用 jQuery 切换显示/隐藏
- 显示/隐藏有关模型更改的指令内容
- Bootstrap在页面加载缓慢时会立即显示隐藏的模式对话框
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 显示/隐藏不起作用
- 使用ng-hide根据条件显示/隐藏按钮
- 仅在第一个结果中显示/隐藏MySQL结果函数
- 显示/隐藏http://ftp链接
- 在显示/隐藏中单击时删除的文本
- 是否可以在不重新渲染的情况下显示/隐藏父对象中的元素
- 将页面内容向左移动时显示/隐藏右侧面板
- 显示/隐藏将不会加载