javascript
  • jquery
  • 2011-12-29 38 views 1 likes 
    1

    我有以下脚本,它可以在FF和Safari中正常工作。在IE和Chrome中未定义JQuery javascript参数

    function swapimage(cid) { 
        jQuery('.imageshadowlg').attr("src", jQuery(cid).attr("src").replace('/thumb/', '/final/')); 
            } 
    
    <a href='javascript:;' id='expic1link' onclick='swapimage(expic1)' ><img id='expic1' src='../gallery/pics/thumb/test.jpg' /></a> 
    

    在IE中,我收到以下错误

    SCRIPT5009: 'expic1' is undefined 
    

    铬是给下面的错误

    Uncaught TypeError: Cannot call method 'replace' of undefined 
    swapimagegal.js:139 
    (anonymous function)s_gallery.aspx:1 
    onclick 
    

    这些脚本位于单独的js文件。

    任何想法?

    +0

    也许尝试'onclick ='swapimage(“#expic1”)''但这只是一个猜测。 – 2011-12-29 18:49:09

    回答

    5

    当您将任何字符串作为参数传递时,它应该用引号括起来,函数中的选择器也是错误的。试试这个

    function swapimage(cid) { 
        jQuery('.imageshadowlg').attr("src", jQuery('#'+ cid).attr("src").replace('/thumb/', '/final/')); 
            } 
    
    <a href='javascript:;' id='expic1link' onclick='swapimage("expic1")' ><img id='expic1' src='../gallery/pics/thumb/test).jpg' /></a> 
    
    +0

    这完全有道理。非常感谢! – shinya 2011-12-29 19:06:51

    0

    无论你选择哪一个选择器都不起作用。我的猜测是你忘了把名字前面的#.

    相关问题