【发布时间】:2015-10-08 16:14:40
【问题描述】:
我无法使用以下代码获取图像的高度和宽度。我不断收到Uncaught Error: Syntax error, unrecognized expression: ...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'
});
});
此代码的目的是单击链接并获取所选图像的大图(but in the demo,我只使用链接-同样的问题)。我已经用height、width 和clientHeight、clientWidth 进行了测试。同样的错误。
等问题解决后,我会删除上面代码中的链接!
我该如何解决这个问题?
【问题讨论】:
-
是什么让您认为 URL 是有效的 CSS 表达式?
-
这是因为你在做
$(url).naturalHeight()这不是一个有效的选择器,要么添加anm id 或class 或一个图像标签来获取 -
@Clive:什么?我只将大图像直接链接到我的服务器。在我正在开发的网站上,我使用的是
/blog/images/uploaded/large/p1010352.jpg,而不是完整的 URL。 -
@TusharGupta 哦。所以我错过了什么......
-
您正在将字符串中的 URL 传递给 jQuery 函数,该函数需要选择器表达式来定位 DOM 中的元素。 URL 不是一个有效的值,希望有明显的原因
标签: jquery css image height width