jquery - "Syntax error, unrecognized expression"表示图像的高度和宽度

标签 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_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 ,我只使用链接 - 同样的问题)。我已经测试了 heightwidthclientHeightclientWidth。同样的错误。

当这个问题得到解决后,我将删除上面代码中的链接!

如何解决这个问题?

最佳答案

这是因为你正在做$(url).naturalHeight()这不是一个有效的选择器,请添加 anm id 或类或图像标签来获取..

我添加了一个<img> id 为 demo 的标签.

还有.naturalHeight()不是一个有效的函数,您可以使用 . prop()达到同样的效果

$(document).ready(function() {
    
    $('body').on('click', '#view-large', function() {
    
        // VARIABEL

        var image = $(this).attr('data');
        var image_src = 'http://nhagyavi.myftp.org/blog/images/uploaded/large/p1010352.jpg';
        $('#demo').attr('src',image_src);
        var image_height = $('#demo').prop('naturalHeight');
        var image_width = $('#demo').prop('naturalWidth');
        console.log(image_height);
    
        // VISA & CSS
        $('.blog-image-view').show().css({
            'background-image': 'url(' + image_src + ')',
            'margin-top': '-10px',
            'margin-left': '-10px',
            'height': image_height + 'px',
            'width': image_width + 'px'
        });
    
    });

});
.blog-image-view {
    background-color: #222222;
    display : none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="javascript:void(0)" id="view-large" data="p1010352.jpg">View</a>

<div class="blog-image-view"></div>
<img id='demo' src=''/>

关于jquery - "Syntax error, unrecognized expression"表示图像的高度和宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31501269/

相关文章:

javascript - Highcharts - 如何删除空项目的向下钻取链接?

html - 'display: table-row-group' 的嵌套 div 布局不正确

c# - 16 位灰度图像到热图

css - 为什么maven无法读取我的css和图片

c# - 使用 FileSystemWatcher 时 c# GUI 中的内存不足异常 - 多线程

javascript - 试图在 django admin 中显示/隐藏 change_list 过滤器

javascript - Safari 浏览器的网络摄像头支持

css - 如何在 WordPress 上删除移动设备的填充

javascript - 如何在单击主体和按钮 JS 时删除类

jquery - jquery.validate.unobtrusive 中的 setValidationValues 在文件外部不可用?