微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

图片宽度*高度总大小大于40000在jquery中不在表内

如何解决图片宽度*高度总大小大于40000在jquery中不在表内

$(\"img\").load(function(){
  var width = $(this).width();
  var height = $(this).height();
    if (width * height > 40000) {

}});
我有这段代码,我想突出显示一个大于40,000像素的图像,如果该图像不在表格中。我知道使用has()仅获取后代。使用load(function()在这里不正确吗?     

解决方法

        如果只想选择元素,则可以使用选择器:
$images = $(\'img:area(40000)\').not(\'table *\');
当然,您应该问,wtf是
:area(40000)
吗? 干得好:
$.expr[\':\'].area = function(element,index,meta,stack){
  var $ele,size,area;
  $ele = $(element);
  size = parseInt( meta[3] );
  area = $ele.width() * $ele.height();
  return area > size;
};
再花一点时间,您可以扩展自定义选择器以获取第二个参数,以便可以以
:area(40000,lt)
样式语法使用
>
<
==
等。     ,        您可以查看其
parents
if($(this).parents(\'table\').length > 0) {/*in a table*/}
因此,在您的代码中:
$(\"img\").load(function () {
    var width = $(this).width();
    var height = $(this).height();
    if (width * height > 40000) {
        if ($(this).parents(\'table\').length > 0) { 
           /* in a table */
        }
        else { 
           /* NOT in a table */
        }
    }
});
    ,        我猜您的问题是:\“如何从
<table>
中检测元素是否为子元素? 如果是这样,您可以这样做:
if ( (width * height > 40000) && !($(this).closest(\'table\').length) ) {
}
那将爬上DOM并检查父级列表中是否有任何“ 11”节点。如果搜索不成功,则jQuery集为空,因此其长度为0。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?