Javascript 错误:未捕获异常:[异常…”字符串包含一个…“;

Javascript 错误:未捕获异常:[异常…”字符串包含一个…“;,javascript,jquery,string,dom,Javascript,Jquery,String,Dom,我正在运行以下javascript: $('img').each( function(){ var w = parseInt(this.width); alert(w); alert(this.src); if(w > 300){ var percent = parseInt((w/666)*100); $(this).removeAttr('width

我正在运行以下javascript:

$('img').each(
    function(){
        var w = parseInt(this.width);
            alert(w);
            alert(this.src);
        if(w > 300){

            var percent = parseInt((w/666)*100);
            $(this).removeAttr('width height').css('width',percent + "%");

        }
});
我得到了以下错误:

错误:未捕获异常:[异常…”字符串包含无效的 字符“代码:”5“nsresult:“0x80530005 (NS\u错误\u DOM\u无效\u字符\u错误)“位置: "http://code.jquery.com/jquery-1.6.4.min.js 行:2“]

事实上,我很难找到这个问题,因为它不是很好地描述问题或问题的根源。有人能解释一下这个问题吗

谢谢

$(\'img')
不起作用。应该是
$('img')
。在其他一些地方,您尝试转义单引号,但不需要。您的代码应该更像这样:

$('img').each(
    function(){
        var w = parseInt(this.width);
            alert(w);
            alert(this.src);
        if(w > 300){

            var percent = parseInt((w/666)*100);
            $(this).removeAttr('width height').css('width',percent + "px");

        }
});

看起来你不知道正确的语法。 试试这个:

$('img').each(
    function(){
        var w = parseInt(this.width);
            alert(w);
            alert(this.src);
        if(w > 300){

            var percent = parseInt((w/666)*100);
            $(this).removeAttr('width height').css('width',percent + "px");

        }
});
对我来说是这样的——虽然它不会改变图像的大小——所以问题可能出在代码/页面的其他地方

关于代码中的逻辑,我不确定您在这里试图做什么

parseInt((W/666)*100)
您是否试图将所有图片设置为最大宽度大小?例如,在浏览器中缩小图片的大小?如


为什么要使用转义引号?使用
$('img')。每个(/*…*/);
都是转义(\)在您的实际代码中?这是一个非常准确的错误代码:)--字符串包含无效字符。这是一个简单错误的大量代码。我建议您尝试通过删除代码中的行来缩小问题发生的范围,直到找到它所在的行。您甚至可以在发布之前自己找到解决方案:)愚蠢的我,忽略转义,那是因为它们在一个php字符串中。它们在文档打印时实际上没有完成。
$('img').each(
    function(){
        var maxwidth = 300;
        var w = parseInt(this.width);
        var h = parseInt(this.height)
        if(w > maxwidth){
            var hscale = parseInt(h/(w/maxwidth));
            $(this).width(maxwidth).height(hscale);
        }
});