Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery &引用;语法错误,无法识别的表达式;用于图像的高度和宽度_Jquery_Css_Image_Height_Width - Fatal编程技术网

Jquery &引用;语法错误,无法识别的表达式;用于图像的高度和宽度

Jquery &引用;语法错误,无法识别的表达式;用于图像的高度和宽度,jquery,css,image,height,width,Jquery,Css,Image,Height,Width,我无法使用下面的代码获得图像的高度和宽度。我不断得到未捕获错误:语法错误,无法识别的表达式:…ge/p1010352.jpg $('body').on('click', '#view-large', function() { // VARIABEL var image = $(this).attr('data'); var image_src = '../blog/images/uploaded/large/p1010352.jpg'; var image_he

我无法使用下面的代码获得图像的高度和宽度。我不断得到
未捕获错误:语法错误,无法识别的表达式:…ge/p1010352.jpg

$('body').on('click', '#view-large', function() {

    // VARIABEL
    var image = $(this).attr('data');
    var image_src = '../blog/images/uploaded/large/p1010352.jpg';
    var image_height = $(image_src).naturalHeight();
    var image_width = $(image_src).naturalWidth();
    console.log(image_height);

    // VISA & CSS
    $('.blog-image-view').show().css({
        'background-image': 'url(' + image_src + ')',
        'margin-top': '-' + (image_height / 2) + 'px',
        'margin-left': '-' + (image_width / 2) + 'px',
        'height': image_height + 'px',
        'width': image_width + 'px'
    });

});
这段代码的目的,是点击一个链接,获得所选图像的大图像(,我只使用了一个链接-同样的问题)。我已经用
高度
宽度
客户端高度
客户端宽度
进行了测试。同样的错误

解决此问题后,我将删除上述代码中的链接


如何解决此问题?

您似乎试图使用图像源作为选择器,并以这种方式动态确定图像的高度和宽度。这是行不通的,因为URL不是有效的jQuery选择器(有充分的理由;这会带来严重的安全隐患)


您要做的是获取服务器端的高度和宽度,或者将图像加载到隐藏的div中,然后确定其尺寸。

这是因为您正在执行
$(url)。naturalHeight()
不是有效的选择器,请添加一个要获取的id或类或图像标记

我添加了一个

.blog图像视图{
背景色:#22222;
显示:无;
}

代码中的错误是您将url作为类选择器传递

这里有一个修正:

更改以下内容:

var image_src = 'http://nhagyavi.myftp.org/blog/images/uploaded/large/p1010352.jpg';
var image_height = $(image_src).naturalHeight();
var image_width = $(image_src).naturalWidth();


是什么使您认为URL是有效的CSS表达式?这是因为您正在执行的
$(URL).naturalHeight()
不是有效的选择器,请向其添加anm id或类或图像标记fetch@Clive:什么?我只将大图像直接链接到我的服务器。在我正在工作的网站上,我有
/blog/images/upload/large/p1010352.jpg
,而不是完整的URL。@TusharGupta噢。这就是我所遗漏的……您正在以字符串形式将URL传递给jQuery函数,该函数需要一个选择器表达式来定位DOM中的元素。URL不是一个有效的值,很有可能是因为显而易见的原因。在您的回答和Tushar的评论之后,我睁大了眼睛:)非常感谢您的演示和解释:)@ErikEdgren您的欢迎:)
var image_src = 'http://nhagyavi.myftp.org/blog/images/uploaded/large/p1010352.jpg';
var temp_img = document.createElement("img");
temp_img.src = image_src;
var image_height = $(temp_img).height();
var image_width = $(temp_img).width();