函数myfuction()与jquery冲突

时间:2013-12-28 12:51:35

标签: jquery conflict

我有缩略图,当鼠标悬停在缩略图上时会显示大尺寸...

在此代码下面:

<img onMouseOver="seebig('<{$pic}>')" style="cursor:pointer" src="path/images/<{$pic}>.jpg" border=0 width="45" height="40">

和函数调用如下:

<script type="text/javascript">function seebig(id){ $('imgmove').innerHTML='<a href="path/images/'+id+'.jpg" target="_blank"><img border="0" src="path/images/'+id+'.jpg" width=280 ></a>';}</script>
当我把jquery-1.3.2.min.js和prototype.js放在标题上这个函数不起作用时BTW任何人都可以帮忙......谢谢

<script type="text/javascript">
jQuery.noConflict();
function seebig(id)
{ 
    var mv = document.getElementsByClassName('imgmove')[0];
    mv.innerHTML = '<a href="path/images/'+id+'.jpg" target="_blank"><img border="0" src="path/images/'+id+'.jpg" width=280 ></a>';
}

感谢您dima_horror,但在插入jQuery.noConflict()之前,您的提示仍无法解决;

现在好了!!!谢谢

2 个答案:

答案 0 :(得分:1)

从代码中看,有问题的页面已经在使用PrototypeJS或MooTools,两者都使用$符号。 jQuery 使用$符号,但是如果你需要让它们共存,你可以告诉jQuery使用its noConflict method释放$符号,就像这样:

<script src="/path/to/jquery.js"></script>
<script>jQuery.noConflict();</script>

然后在你需要使用jQuery的任何代码中,而不是你以前的库,实际上使用符号jQuery,这是jQuery的$的同义词。


为什么我认为您正在使用PrototypeJS / MooTools:由于代码$("imgmove").innerHTML = ...;假设$通过id查找内容,并且它返回单个(已增强)元件。这两个图书馆都这样做。

答案 1 :(得分:-1)

$('imgmove').innerHTML更改为$('imgmove').html()

<script type="text/javascript">
    function seebig(id)
    { 
        $('imgmove').html('<a href="path/images/'+id+'.jpg" target="_blank"><img border="0" src="path/images/'+id+'.jpg" width=280 ></a>');
    }
</script>

更新2 尝试更新html而不使用jquery

<script type="text/javascript">
    function seebig(id)
    { 
        var mv = document.getElementsByClassName('imgmove')[0];
        mv.innerHTML = '<a href="path/images/'+id+'.jpg" target="_blank"><img border="0" src="path/images/'+id+'.jpg" width=280 ></a>';
    }
</script>