jQuery选择器作为参数不起作用

时间:2016-07-19 06:24:30

标签: javascript jquery html

我有这个小功能来打印图像大小。 虽然它我只是调用函数时工作 以auto&为例,它在size('#prototype);上不再有效。

为什么呢?有人可以帮帮我吗?

resize('#protoimg)

3 个答案:

答案 0 :(得分:0)

试试这个:

    $(function() {
      size('#protoimg')
    });

    $(window).resize(function() {
        size('#protoimg');
    });

    function size(a){
        var height = $(a).height(); 
        var width = $(a).width();
        $('#target').html('<p class="size">' + width + '-' + height + '</p>');
    }

如果#protoimg是图片文件,请务必设置属性width="100%"以避免溢出。

答案 1 :(得分:0)

尝试删除function size(a)中的$(document).ready();并将$(window).resize();放入

像这样:

 function size(a){
    var height = $(a).height(); 
    var width = $(a).width();
    $('#picbox').find('p.size').remove();
    $('#picbox').append('<p class="size">' + width + '-' + height + '</p>');
  }
$(document).ready(function(){
 $(window).resize(function() {
    size('#protoimg');
 });
  });

答案 2 :(得分:0)

请记住, $(窗口).resize(参数)需要函数作为参数。但是 size('#protoimg')< / strong>是function的结果。所以正确的代码是:

$(document).ready(function(){
  function size(a){
    var height = $(a).height(); 
    var width = $(a).width();
    $('#picbox').find('p.size').remove();
    $('#picbox').append('<p class="size">' + width + '-' + height + '</p>');
  }

  size('#protoimg');
  $(window).resize(function(){
      size('#protoimg');
  });
)};