TLDR:我找不到的一个错误是当通过 jQuery 注入 HTML 元素时阻止插件工作。
摘要:如果您可以控制 HTML,则设计该插件,但是由于我没有,因此我试图加冕图像标签以获得 mouseover “hoverzoom” 属性,但是当我通过 jQuery 函数添加必要的 HTML 属性时,例如.wrap();
.after();
和.addClass();
,所有图像消失。我必须通过 jQuery DOM 操作来完成,因为我无法直接控制 HTML。(别问,长话短说,一定是jQuery)。奇怪的是,在同一个示例环境中(见下文),如果我添加 HTML 元素、ID 和类,插件就可以工作。但是,如果我尝试将所有必要的属性添加到裸图像标签,它就会消失。
理论:当<ul>
有一个id="etalage"
(如插件部署方向指示)以及当<img>
标签有各自的类将它们指定为源图像和拇指图像时,图像标签似乎都会消失。我的理论是调用了一些 CSS“显示:无”规则,但如果这是真的,那么在页面上工作的另一个例子不应该也不起作用吗?
插件:代码峡谷上的 Etalage(我会发布链接,但 Stack Overflow 告诉我我太初级,无法发布多个链接)
错误的示例页面: 在野外(评论可以在inspector中看到)
我的代码(不起作用),HTML:
<img id="thumbImage" src="http://placekitten.com.s3.amazonaws.com/homepage-samples/408/287.jpg" alt="" />
jQuery:
$(document).ready(function(){
$('#thumbImage').wrap('<ul id="etalage"><li /></ul>')
.addClass('etalage_thumb_image')
.after('<img class="etalage_source_image target" />'); $('.etalage_source_image')
.attr('src', 'http://placekitten.com.s3.amazonaws.com/homepage-samples/200/140.jpg');
});
根据 Etalage 的说法,这是行之有效的代码。
HTML
<ul id="etalage">
<li>
<img class="etalage_thumb_image" src="xyz.jpg">
<img class="etalage_source_image target" src="xyz.jpg">
</li>
</ul>
我迷路了。如果有人可以提供帮助,我会提前感谢。我确实在他们的帮助论坛上发过帖子,但是 SO 在过去调试我的代码方面非常有帮助。