javascript - 如何在 jquery 代码中使用它

标签 javascript jquery html

我在jquery中有一段代码如下:

if($('div').width()>150){

    $('#check').css('overflow-x', 'scroll');  
    $('#check').css('overflow-y', 'hidden'); 

}

我试图通过使用“this”关键字使这段代码更加具体,以便 css 属性仅应用于特定的 div。

<强> FIND THE FIDDLE HERE

谁能告诉我我做错了什么,因为“this”关键字在这种情况下不起作用。

最佳答案

您需要对所有 div 元素执行 width 检查。为此,您可以使用 filter 获取宽度满足要求的元素,然后为其设置 CSS:

$('div').filter(function() {
    return $(this).width() > 150;
}).css({ 
    'overflow-x': 'scroll',
    'overflow-y': 'hidden'
});

请注意,最好的做法是将类应用于元素,而不是直接更改 CSS,因为它可以更好地分离关注点:

$('div').filter(function() {
    return $(this).width() > 150;
}).addClass('horizontal-scroll');
.horizontal-scroll {
    overflow-x: scroll;
    overflow-y: hidden;
}

关于javascript - 如何在 jquery 代码中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25200201/

相关文章:

javascript - jQuery - 无法同时使用导入的文件和自己的函数

jquery - 绝对位置 + <body> 相对位置

javascript - 浏览器中带有海拔的 3D map

javascript - 从远程站点加载时未检测到 vis.js 中的语法错误。使用本地副本检测到

jquery - 具有不同动态加载列表的多个 XEditable Select2 元素 : only the first URL data-source is bound

javascript - 在事件处理程序中使用时函数未定义

javascript - 对输入类型 ="number"使用正则表达式删除非数字

html - 最长和最短的 HTML 字符实体名称分别是什么?

html - 如何在边界半径变化时停止元素移动?

javascript - 如何使用javascript根据数组中的键进行过滤?